HTTPS clone URL
Subversion checkout URL
Clone this wiki locally
Veusz is pronounced like the English word "Views".
It doesn't mean very much, however I have chosen the semi-"poetic" meaning of Velvet Ember Under Sky Zenith as I am an astronomer. The name was also chosen because it sounds like Views and it didn't exist in Google.
Firstly, I wrote it because I needed it. I've not found any other software as easy to use or more versatile since. There are alternative Python libraries (such as matplotlib), but the user interface on Veusz is its selling feature.
Originally Veusz was focused on a combined command line (for speed) and GUI. I have started using the GUI almost completely recently.
- Easy to use GUI based on the high quality Qt library.
- Portable, runs on a number of systems.
- Free, in terms of cost and freedom.
- Suited to handling scientific data and used by scientists daily.
- Easy to develop and build as written in almost 100% Python.
- Faster than many alternatives.
- Exports EPS, PDF, SVG and bitmap formats directly.
- Saved file format is easy to edit text file.
- GUI, command line and embedding interfaces.
- Object based interface.
- Under development since 2005.
- LaTeX-like text rendering.
- Has no 3D plotting, but can plot 2D colour images and contours.
- Probably too difficult for the average person with no scientific/maths/computing experience to use.
- Could have more documentation.
Veusz might well do that if you let me know and I have time. I welcome suggestions and I do implement many of them. If you'd like to write some code yourself, please do, but I would prefer if you discuss it with me first. The best place to ask is on the mailing list.
Some (small) speed problems come from the fact that Veusz is written in Python, which can be a relatively slow language. Veusz is often faster than other Python-based plotting packages, however. Other speed issues are due to the Qt library itself. Veusz can be slow with antialiasing switched on and lots of points plotted. Qt uses antialiasing to smooth the appearance of the plot on the screen. Right-click on the plot or go to the Preferences dialog box to disable antialiasing.
You can place more than one "graph" component in a "grid" component and they are automatically laid out according to the number of columns and rows specified in the grid.
It is very useful to share axes between the different graphs so that each graph has the same axis range and labels. Veusz does this automatically if an axis component is moved to lie inside the grid and the respective axes are deleted from the individual graph components.
If you want to only have axes on one side of the grid you can zero the margins for each of the component graphs (use the automatic "Zero margins" button in the grid to do this, or copy the margin settings by clicking next to a setting and clicking "Copy to graph siblings".
If you want to plot axes on each plot, you will probably want to zero the margins on the grid instead.
Plot you data using a normal "xy" point plotting component. Choose "left", "centre" or "right" for the "Steps" option in the Plot line formatting tab. The different options choose between plotting the steps to the left, right or centred around the points.
Click on the document widget. Under the formatting properties change the page size, or drag the box surrounding the page. You can also change the page size on a per-page basis under the page formatting settings.
Go to the Default styles dialog box to edit the stylesheet - here you can set the default line and font styles, and individual settings for each type of widget. These are saved on a per-document basis (or saved and loaded from the Default styles dialog), but a default stylesheet can be given in the Preferences dialog.
You can unselect the currently selected widget by holding down the control key and clicking on the widget in the widget list.
Datasets can be created in a number of ways in the Data->Create and Data->Create 2D dialogs:
- Creating a series, e.g. 1, 2, 3, 4. Select "Value or range" in the Data->Create dialog and enter the number of values. In the "Value" edit box place a number or a range, e.g. 1:4. Values or ranges can be given for the error bars too.
- Creating from a parametric expression. Select "Parametric" in the Data->Create dialog. Enter minimum, maximum and number of values for the parametric variable "t". In the Value edit box enter a mathematic expression based on t for the dataset (Veusz uses Python/Numpy mathematical syntax). Expressions or constants for the error bars can also be given.
- Creating from existing datasets. Choose "Expression" in the Data->Create dialog. Enter an expression based on existing dataset names in the Value edit box. The expression here will be evaluated, substituting the data values from the respective datasets. You can refer to the values of the error bars for a dataset by appending "_serr", "_nerr" or "_perr" suffixes on the dataset names. Expressions for the error bars can also be given. You can refer to the dataset values explicitly with the "_data" suffix.
EPS doesn't properly support transparency. Qt (used by Veusz) tries to work around this by embedding transparent bitmaps in the output file, which often doesn't look very good. PDF and SVG are much better at including transparency. If you would like transparency in EPS, I would recommend writing a PDF file (which supports transparency), and use pdf2ps to convert to a EPS/PS file. ps2pdf (using ghostscript) is much better at simulating the transparency than Qt.