Several plots and all the data related to these plots can be saved in a project file. The project is therefore the main container of QtiPlot. The following screenshot gives an example of a typical session. This example shows the log panel at the top of the workspace, the project explorer at the bottom, plus a table and a plot window. Other windows are either docked or hidden.
There are numerous commands available in QtiPlot. The specific subset of commands available depends on the element which is selected. Therefore, the main menu bar changes when you select a particular element of the project. Moreover, you can access the set of commands relevant to a given element by activating the context menu with the right button of the mouse when the mouse pointer is floating over the chosen element.
In a project, the containers which can be used are:
A table is a spreadsheet like object which can be used to store the data you are entering. The table is contained in its own window (the Table Window). It can be used to perform some calculations and statistical analysis of that data. In each table, columns can be labeled as X-values or Y-values for 2D-plotting, or Z-values if you plan to build a 3D-plot.
A table can be created using the New -> New Table command. There are then several ways to fill the table with data. If you want to read your data from an ASCII file, you can import it from the file into a table using the Import -> Import ASCII... command. You can also manually enter each value from the keyboard. Finally, you can fill the table with the results of evaluating a mathematical function using the (Set Column Values... command from the Table menu)
A matrix is a special table which is used to store the data points for surface 3D plots. It contains Z-values and doesn't include any column or row which could be designed as X-values or Y-values. Nevertheless, you can specify the X-values and the Y-values with the Set Dimensions... command command from the Matrix menu.
A matrix is created using the New -> New Matrix command. If you want to read matrix data from an ASCII file, you can import the data from the file into a table using the Import -> Import ASCII... command, and then convert this table to a matrix with the Convert to Matrix command. In the same way as for tables, you can also fill a matrix with the results of evaluating a function z=(i,j) in which i and j are row and column numbers (Set Values... command from the Matrix menu)
A graph can contain one or several plots. Each of these plots is contained in a different layer. These layers can be arranged in many ways to build matrix of plots.
A new layer can be added to an existing graph with the Add Layer command from the Graph menu. you can also remove an existing layer with the Remove Layer command, but if you remove a layer, any plots on that layer will also be deleted. You can also copy a layer from one graph to another or copy an existing graph into another (the window will be added as a new layer - see the section on Multilayer Plots for more details).
Plots can be created in several ways. You can select data in tables or matrices, and build a plot, or create new plots from functions of one or two variables (see sections 2D plots and 3D plots).
This window is a text container which can simply be used to insert comments into a project, but is really far more powerful than that. It can be used as a calculator, for executing single commands, and for writing scripts.
This window is used to store the results of all calculations which have been done. If this window is not visible, you can find it with the Project Explorer or with the Results log command.
The text in the log window is also saved in the project file, so that when you load a previously saved project, the results-log panel is re-filled with the results of previous calculations.
This window is used to list all the windows contained in a project. The Project Explorer gives quick access to all elements of a project, hidden or visible. It can be used to perform some operations on the listed windows such as hiding a window, renaming a window, etc.
Since version 0.8.5, a project file can include several independent projects. In this case, the containers of each project are stored in different folders.
When working with data, tables become the main focus of QtiPlot. Fundamentally, a table is simplified spreadsheet contained in a Window which can be used to control, edit, and convert data. Tables are also highly customizable: all colors and font preferences can be set using the Preferences... command of the View menu, and you can resize a table in terms of rows and columns using the Table menu with Rows command or Columns command.
Every column of a table has a label, and can be assigned a format: numeric, text, date or time. Each column can also have one of the following flags set: X, Y, Z, X-error, Y-error, label, or none (i.e., a simple column without any special flag). X flagged columns are the abscissae while Y flagged columns are the ordinates used when creating a 2D plot from data. A column must have either the X or Y flag set to be available for use in a 2D plot. The X-error and Y-error columns can be used to add error bars to 2D plots. Flags can be changed using the Column options dialog. To reach this dialog, simply double-click on the column label or use the Column Options... command from the Table menu.
A table column is selected by left clicking on it's label. Multiple columns are selected in one of 2 ways. First, if the columns are adjacent, it is most convenient to left click on the first desired column's label and, while holding the left mouse button down, drag the mouse pointer over the labels of the column you wish to select. Second, in the case where desired columns are not adjacent, you can select additional columns by keeping the Ctrl key pressed while left clicking on the desired column's label. This also allows you to deselect specific columns. You can select all the columns of a selected table by pressing (Ctrl+A).
You can perform various operations on selected columns : fill with data, normalize, sort, view statistics and finally, make plots out of your data. All these functions can be reached by right clicking on the column label or by using the Table menu.
All other table functions: rename, duplicate, export, print, close can be reached via the context menu (right click anywhere in the table outside the column labels area).
You can cut, copy and paste data between tables or between a table and another application (Excel, Gnumeric, etc.).
You can import single or multiple ASCII files using the Import -> Import ASCII... command from the File menu. Of course you can export the data from the table to a text file using the Export ASCII command.
The matrix is a special table which is used for data which depends on two variables. This special table can be used to create 3D plots as well as 2D image/contour plots via the Plot 3D menu and the 3D plot toolbar. The difference between a table and a matrix is that matrices have a dual functioning mode: they can display data in a table form or they can display an image. Therefore matrices can be used as a basic image viewer and also as an image editor, since they implement some image manipulation functions like: 90 degrees rotation, horizontal and vertical mirroring, etc.
In a matrix there is no special column nor special row for X or Y labels or values. Nevertheless, you can specify an X-scale and a Y-scale with the Set Dimensions... command.
The values which are stored in a matrix can be obtained from a function of the form z=f(i, j, x, y) with the Set Values... command, i and j being the column and row numbers and x and y the corresponding coordinates. They can also be read directly from an ASCII file with the Import -> Import ASCII... command or from an image file.
The plot window provides a container for plotting graphs. It contains at least one layer, which is the main container of the plot window. Each new plot is inserted in a new layer of the plot window. Each layer has its own geometry and graphic properties (background color, frame, etc). The example presented below shows a graph with two layers which have different geometries.
Each layer can be activated by clicking on the corresponding gray button in the top-left corner of the window.
Some graph elements can be accessed by a double click on an element in a layer. These are:
the graph itself: this will open the Custom Curve Dialog. You can then add new curves to the plot, or change the way the curves are plotted.
The axes or the axes labels: this will open the General Plot Options Dialog. It is used to customize the axes, the numbers and labels of the axes, and the grid.
Text items, including the legend of the plot: this will open the Text Options Dialog which allows customizing the font of the label and the frame in which it is drawn.
Arrow/Line items: this will open the Line Options Dialog.
Image items: this will open a dialog allowing to customize the geometry and the position of the image.
A left click on a plot element selects it. You can deselect any element by pressing the Escape key. A right click on a plot element pops-up a context menu allowing fast access to its properties dialog. Last but not least, you should know that QtiPlot provides multiple selection for objects in a plot layer. In order to add an object to an existing selection keep the Shift key pressed and click on the element you want to add to the selection. Elements in a multiple selection can be moved and resized together with the mouse.
A note can simply be used to insert text (comments, notes, etc) into a project, but is really far more powerful than that. It can be used as a calculator, for executing single commands and for writing scripts. Evaluation of mathematical expressions and execution of code is done via a note's context menu, the Scripting menu or convenient keyboard shortcuts. For information on expression syntax, supported mathematical functions and how to write scripts, see here.
Note windows provide powerful text editor functionalities, particularly helpful when writing scripts: customizable Python syntax highlighting, line number display, find and replace text, and autocompletion suggestions for words having more than two characters. You can manually trigger autocompletion by using Ctrl+U. The colors used for syntax highlighting can be customized via the Notes tab in the Preferences dialog.
This window keeps a history of all analysis which has been done in the project. It panel contains the results of all the correlations, fittings, etc.
The project explorer can be opened/closed using the Project Explorer command from the View menu or by clicking on the in the file toolbar.
It gives an overview of the structure of a project and allows the user to perform various operations on the windows (tables and plots) in the workspace: hiding, minimizing, closing, renaming, printing, etc. These functions can be reached via the context menu, obtained by right-clicking on an item in the explorer.
By double-clicking on an item, the corresponding window is shown maximized in the workspace, even if it was hidden before.
From the project explorer window, different objects can be organized into folders. When selecting a folder, the default policy is that only the objects contained in it will be shown in the workspace window. You can also display all the objects in subfolders if you change this policy with the "View Windows" command to "Windows in Active Folder and Subfolders".