This PDF document was compiled from MagicPlot online help.
© 2021, Magicplot Systems, LLC
MagicPlot.com
MagicPlot is a cross-platform application based on Java technology. Java Runtime is included in the MagicPlot distributive for Windows and Mac OS X.
You need Java Runtime Environment (JRE) of version 11 or later to run MagicPlot 3.0. You can install Java using the package manager or get a free compiled copy here: https://adoptopenjdk.net/.
Run MagicPlot using command: path-to-jre/bin/java -XX:MaxRAMPercentage=75 -jar MagicPlot.jar
.
Here -XX:MaxRAMPercentage=75
means maximum heap memory usage 75% of free memory.
To make Windows open your MagicPlot project files (.mppz) in MagicPlot just open context menu of one project file in Explorer and select Open With → Choose Program
item. In the opened window press Browse
button and choose MagicPlotPro.exe
or MagicPlotStudent.exe
file. Select the Always use the selected program to open this kind of file
checkbox and click OK.
MagicPlot project files (.mppz) will be automatically associated with MagicPlot by your operating system.
MagicPlot Projects contain Tables, Figures and Fit Plots. MagicPlot Project files have .mppz extension.
Feel free to close currently unused interval windows with Tables, Figures and Fit Plots. The data will not be deleted, the window will be closed only. You can open the closed window by double clicking on component in Project tree.
In most cases you may start with importing table from text file by clicking Project → Import Text Table
menu item.
The easiest way to create Figure or Fit Plot is the following:
Create Figure
or Create Fit Plot
item in the Table context menu
You may also use Create Figure
or Create Fit Plot
buttons in the toolbar.
MagicPlot can evaluate simple expressions entered in any numeric text field (brackets are supported, see Expression Syntax for details.) For example, you can enter 12/pi
in circle width and height fields in Dimensions toolbar if you want its perimeter to be equal to 12 (remember that p=πd
, where p
is perimeter and d
is diameter):
Use Project → Import Text Table
menu item to import table(s) from text file(s), also referred to as ASCII file(s).
You may select multiple files in opened standard file dialog by holding Ctrl or Shift.
Text Input Preview
frame)Open
icon to open file dialog once again and select other file(s).Create Figure
or Create Fit Plot
checkbox to create Figure of Fit Plot after importing:Figure
, the created Figure will contain all imported data from all filesFit Plot
, one Fit Plot will be created for each imported file
MagicPlot opens files which come as the command line arguments on launch. MagicPlot Project files (.mppz) are detected as projects, the all other files are treated as the text files and the Import dialog is opened. The text files will be imported in the current opened project.
The -silent
key in command line forces MagicPlot to import text files without opening import dialog. The previously used import setting are used in such case. If Fit Plot or Figure creation was selected in Import dialog last time, the new plots will be created.
Example for Windows OS: MagicPlotPro.exe mydata.txt -silent
Please make sure that your firewall software does not block MagicPlot loopback (127.0.0.1) request.
In MagicPlot Tables are used to store numeric or text data depending on column type (numeric/text).
MagicPlot supports these data types in Tables:
Format | Description |
---|---|
Numeric | 64-bit double precision floating-point numbers (IEEE 754) |
Text | Unicode string with unlimited length |
Use Set Column Type
menu in column context menu to change column type (numeric/text).
Columns are enumerated starting with 1. The first 26 columns are additionally denoted with Latin letters: A, B, C, … Y, Z, 27, 28, 29, …
. You can use either numbers or letters, addressing cells and columns in formulas.
Double click on column header to rename table column. You can also use Rename Column
context menu item or press F4
.
Hold Alt
key (Option
on Mac, Meta/Win
on Unix-like) and drag column header to rearrange table columns.
If Alt
key is not pressed, mouse dragging on header will select the columns.
You can edit table cell by double clicking on it. You can enter either a number or an expression using Expression Syntax.
To fit the width of one column, double click on right separator line in table header. To fit several columns widths, select multiple columns and double click on one of column separators in table header.
In computing, NaN, which stands for Not a Number, is a value or symbol that is usually produced as a result of an operation on invalid input operands. For example, most floating-point units are unable to explicitly calculate the square root of negative numbers, and will instead indicate that the operation was invalid and return a NaN result.
An invalid operation is not the same as an arithmetic overflow (which returns a positive or negative infinity). Arithmetic operations involving NaN always produce NaN, allowing the value to propagate through a calculation so that errors can be detected at the end without extensive testing during intermediate stages. A NaN does not compare equal to any number or NaN.
There are three kinds of operations which return NaN:
1+NaN
0/0, ∞/∞, ∞/-∞, -∞/∞, -∞/-∞
0*∞, 0*(-∞)
1^∞
∞+(-∞), (-∞)+∞
and equivalent subtractions.Expression | Result |
---|---|
0^0 | 1 |
0/0 | NaN |
sqrt(-1) | NaN |
1/0 | Infinity |
-1/0 | -Infinity |
In MagicPlot NaN is also used to represent empty cells in Tables.
Statistical functions ignore NaN values in Tables.
You can use predefined constants NaN
, nan
or NAN
in expressions to specify NaN value.
The isNaN(x)
function checks if the argument is NaN.
if(col(B) >= 0, col(B), NaN)
, it will return only positive values from column B. Negative values are replaced with NaN value. You can use this expression to filter negative values if you do not want to use them in future calculations. Note that ”Not-a-Number returned at row #” warning can be shown for such expressions.
You can create a full copy of selected project components (Tables, Fit Plots, Figures and entire Folders) by selecting Create a Copy
item on context menu.
If the only Fit Plots and Figures are selected for creating a copy, the created Fit Plots and Figures will use the data from the same tables and columns as the initial ones. If you select also the Tables which contain plotted data, then the created Fit Plots and Figures will use the data from created copies of these Tables.
Nonlinear least squares data fitting (nonlinear regression) can be performed using Fit Plot.
To create a Fit Plot, select your X and Y columns in Table, then select Table → Create Fit Plot
in the main menu, or use the same item in the Table context menu, or use Create Fit Plot
button in the toolbar.
National Institute of Standards and Technology (NIST) has created the Statistical Reference Datasets Project which includes 26 datasets for testing the nonlinear fit algorithms. MagicPlot has been successfully tested on these datasets. Our report on MagicPlot testing with NIST datasets is available here: Report.
'Nonlinear' means here that analytical fitting function depends nonlinearly on varying parameters (fit parameters). Fit procedure iteratively varies the parameters of the fit function to minimize the residual sum of squares. The nonlinear fitting algorithm needs the user to set the initial values of fit parameters.
To fit the data, implement these steps:
You can undo fit and also undo changing initial parameters as any other action using Undo
function. It is a handy feature when experimenting with different models and initial parameters.
This manual does not completely cover the complex nonlinear fitting methodology. We recommend you to take a look at this book:
MagicPlot considers fit function as a sum of Fit Curves. Ordinarily in peaks fitting each Fit Curve corresponds to one peak in experimental data. Click the Add
button to add new Fit Curve to the list. There is a number of predefined Fit Curves types (Line, Parabola, Gauss, Lorentz, etc.) You can also create a Custom Equation Fit Curve and manually enter the formula. Baseline fitting components may be added to the fitting sum, too.
Fit Plot window contains the list of Fit Curves. Each Fit Curve in the list has three checkboxes:
Show
: Specifies whether to show this Fit Curve on the plot. Active only if Baseline checkbox is not setBaseline
: Toggles the subtracting of this Fit Curve from experimental data. You also can use Residual
button to subtract all Fit Sum from dataSum
: Specifies whether to use this Fit Curve in sum fit functionBelow the Fit Curves list, is a parameters table which shows names, values, and descriptions of parameters relating to the selected Fit Curve.
MagicPlot allows two alternatives buttons to run the fit:
Fit by Sum
button will fit the data with the sum of Fit Curves for which the Sum
checkbox is set. Data interval from Fit Interval
tab will be used. This button must be used for example to fit the spectrum with the sum of peaks.Fit One Curve
button will fit the data with the one currently selected Fit Curve. The individual interval for each Fit Curve will be used. Set Edit Interval
checkbox to edit individual interval for each Fit Curve.You can copy and paste Fit Curves from one Fit Plot to another Fit Plot or Figure. You can also paste the copied Fit Curves to the same Fit Plot to create a copy.
You can reorder Fit Curves by dragging them in the table. The data curve is always drawn the first and fit sum is drawn the last.
Nonlinear fitting assumes that certain initial values of parameters are set before fitting. This procedure is very easy if you use Fit Curves of predefined types (not custom equation): you can drag curves on the plot. Initial parameters values for each Fit Curve can also be set in the parameter table.
You can adjust Parameters in the table using mouse wheel scrolling when the mouse cursor is on the desired parameter: Hold Ctrl key (Cmd key on Mac) and scroll. If the Shift key is also pressed the parameter step for one wheel 'click' will be increased.
If you are fitting a spectrum with multiple peaks, MagicPlot may automatically add and approximately locate peaks before fitting. See Guessing Peaks for details. Guessed peaks should be used only as of the initial estimate for fitting: don't forget to click the Fit button after peaks are added.
You can lock (fix) parameter(s) to prevent varying this parameter(s) during the fit and to prevent its changing due to set initial values by mouse dragging (for built-in functions). Set the checkbox in Lock
column in the parameter list to lock parameter.
MagicPlot allows joining (sometimes referred to as coupling, binding, linking) of fit parameters of different Fit Curves. See Joining the Parameters of Fit Curves for details.
MagicPlot allows the weighting of data points with Y error data. You can specify Y error data in Fit Plot properties dialog. If no Y error data are specified weighting is not used.
Weights are calculated as 1 / Yerror2
for every point. See Fitting Algorithm and Computational Formulas for details.
Weights must be positive and finite for all points so the Y error values must be positive and non-zero (to prevent infinite weights). MagicPlot checks this condition before fitting and shows an error message if Y errors cannot be used to compute weights.
You can set the X intervals of the data which will be used for fitting. Data points outside these intervals are not used to compute the minimizing residual sum of squares. You can use this feature if some data points (especially in the beginning or the end) are inaccurate, e.g. noisy.
Select Fit Interval
tab to set intervals visually or edit accurate borders values in the table.
Note: Data intervals from the Fit Interval
tab are used for fitting Sum only. To set individual data intervals for the one Curve fitting use Edit Interval
checkbox.
Fit Interval is also usable when baseline fitting. Before baseline fitting, you can specify the interval which does not contain any signal points and contains baseline only. Set Baseline
checkboxes at baseline Fit Curves after baseline fitting to subtract baseline from data. Then specify the whole interval and fit the data.
Note that if you use data processing (integration, FFT, etc.) on Fit Plot, then the difference between the data and baseline curves (which you do see on the plot) will be processed. You can use this behavior to exclude baseline from data before integrating, see Integration for more information.
The 'Data-Baseline' column is appended to the Table with initial (X and Y) data when you create a Fit Plot. The 'Data-Baseline' column contains the difference between initial Y data and baseline approximation (the sum of Fit Curves for which Baseline
checkbox is set). It is 'Data-Baseline' column that is actually plotted on Fit Plot as data.
Use 'Data-Baseline' column in Table if you want to process the data without baseline. This column is also used as initial data if you use Processing
menu when Fit Plot is active.
Residual means here the difference between initial data, baseline function and Fit Sum function. MagicPlot offers two different ways to view the residual:
Residual
button. The residual will be shown while the button is pressed. You can use either mouse or space key (if the button is selected) to hold Residual
button.Baseline
checkboxes for all summed Fit Curves to subtract them from data and explore the residual plot
To execute the fit click the Fit by Sum
button of Fit One Curve
button (see below).
MagicPlot indicates the fit process with a special window. Fitting curves are periodically updated on the plot while fitting so you can see how fit converges.
MagicPlot shows the current iteration number and deviation decrement with two progress bars while the fit is performed. The fit process stops when one of these progress bars reaches the end.
You can see two buttons on fit progress window:
Break Iterations
: Breaks iterations after current iteration. Use this button if you suspect that further iterations will not change the result.Undo Fit
: Breaks iterations and reverts fit parameters to their initial (before fit) values. Use this button if you see that fit process converges to wrong result; change initial values of parameters and run fit again.
You can use MagicPlot to fit the data with single selected Fit Curve by pressing Fit One Curve
button. In this case, a specific data interval for each Fit Curve is used and the main fitting data interval (from Fit Interval
tab) is ignored. Select Edit Interval
checkbox in the bottom of the Fit Plot panel to set specific fit intervals for each Fit Curve.
Because of using individual data interval this method is useful for baseline fitting. In order to fit baseline specify the intervals which do not contain signal (peaks) and contain only noise.
In some cases, the fit procedure may fail to find the optimal parameters values. The actual mathematical reason for this error is the impossibility to invert the matrix α calculated from partial derivatives of the fit function with respect to fit parameters. This inverted matrix is used to compute the new values of parameters for the next step of fit (like gradient descent). In most cases, this error occurs when the matrix α is ill-conditioned or nearly singular and the inverse cannot be calculated accurately enough with used floating-point arithmetic.
MagicPlot uses iterative Levenberg–Marquardt nonlinear least squares curve fitting algorithm which is widely used in most software.
MagicPlot implementation of Levenberg–Marquardt algorithm is optimised for using with multi-core processors. MagicPlot successfully passed testing with NIST Nonlinear Regression datasets (see our report).
Fit procedure iteratively varies the parameters βk of fit function f(x, β1, …, βp) to minimize the residual sum of squares (RSS, χ2):
here:
An initial guess for the parameters has to be provided to start minimization. Calculation of the new guess of parameters on each fit iteration is based on the fit function partial derivatives for current values of fit parameters for each x value:
Partial derivatives are computed using explicit formulas (for some predefined fit functions) or with finite difference (for custom equations).
MagicPlot can use weighting of y values based on y errors si:
In Fit Plot Properties
dialog (Plot Data
tab) you can set one of the following methods to evaluate standard y errors si:
After each iteration except the first MagicPlot evaluates deviation decrement D:
Deviation decrement shows how the residual sum of squares (RSS) on current iteration relatively differs from that on the previous iteration.
The iterative fit procedure stops on one of two conditions:
You can change the minimum allowable deviation decrement and maximum number of iterations in Fitting
tab of MagicPlot Preferences
.
In the table below you can find the formulas which MagicPlot uses to calculate fit parameters and values in Fit Report
tab.
Because of some confusion in the names of the parameters in different sources (books and software), we also give many different names of same parameter in note column.
Parameter Name | Symbol | Formula | Note |
---|---|---|---|
Original Data and Fit Model Properties | |||
Number of used data points | — | This is the number of data points inside specified fit Interval. | |
Fit parameters | β1,…,βp | — | For peak-like functions (Gauss, Lorentz) these parameters are amplitude, position and half width at half maximum. Only parameters with unset Lock checkbox are taken into account. |
Number of fit function parameters β | — | This is the total number of unlocked parameters of fit curves which are summarized to fit. | |
Degrees of freedom | |||
Estimated mean of data | |||
Estimated variance of data | Not used by fit algorithm, only for comparison. | ||
Data total sum of squares (TSS, SST) | TSS | Also known as: • Sum of squares about the mean. |
|
Fit Result | |||
Residual sum of squares (RSS) | This value is minimized during the fit to find the optimal fit function parameters. Also known as: • 'Chi-squared' • Sum of squared residuals (SSR), • Error sum of squares (ESS), • Sum of squares due to error (SSE). |
||
Reduced χ2 | The advantage of the reduced chi-squared is that it already normalizes for the number of data points and model (fit function) complexity. Also known as: • Mean square error (MSE), • Residual mean square. |
||
Residual standard deviation | s | Also known as: • Root mean square of the error (Root MSE) |
|
Coefficient of determination | R2 will be equal to one if fit is perfect, and to zero otherwise. This is a biased estimate of the population R2, and will never decrease if additional fit parameters (fit curves) are added, even if they are irrelevant. | ||
Adjusted R2 | Adjusted R2 (or degrees of freedom adjusted R-square) is a slightly modified version of R2, designed to penalize for the excess number of fit parameters which do not add to the explanatory power of the regression. This statistic is always smaller than R2, can decrease as you add new fit curves or introduce parameters, and even be negative for poorly fitting models. | ||
Covariance matrix of parameters βk | | Here α is the matrix of partial derivatives of fit function with respect to parameters βm and βn which is also used by fitting algorithm to compute parameters for next iteration. | |
Standard deviation of parameters βk (std. dev.) | These values are displayed in Std. Dev. column in parameters table. |
||
Correlation matrix of parameters βk | This matrix shows if the parameters are linked. The values lie in range -1…1, diagonal elements are always 1. If two parameters are linked the corresponding matrix value will be close to 1. It means that changing the first parameter compensates changing of the second one so that the fitting algorithm cannot select between them. |
In some cases you may want to fit the data with two peaks with the same amplitude for example. You can do this in two ways: by specifying custom Fit Curve with your equation or by joining the 'amplitude' parameters of two peaks.
To join parameters of two or more Fit Curves select one of desired Fit Curves, then select desired parameter in parameters table and press Join
button in the bottom of the panel (or double click on parameter). You can specify the selected parameters as equal or proportional by entering multiplier and constant for each parameter. Joined parameters are shown with blue color (instead of black) in curve parameters table in Fit Plot window. Joined parameters are treated as one parameter when fitting, so joining results in the reducing of actual model parameters number.
In the example above the areas and widths of tho peaks are joined and are equal. The positions of maximums are joined and inverse: -1
multiplier is set to the width of Curve 3.
To specify custom fit function formula, press Add
button and select Custom Equation
in popup menu.
y(x)=
text field below. Use x
as fit function argument. See Expression Syntax for details.Recently Used Custom
item in Add
popup menu.
You can introduce Fit Curve parameters with any names except argument x
, and constants like e
, pi
(see predefined constants for details):
a
and A
are different parameters)._
sign. You can use numbers in the middle or in the end of the name: a1, a_1, A1, a1t
, but the names like 1a
are not allowed.The parameters you introduce in formula will automatically and immediately occur in parameters list, you do not need to enter parameters names in the list manually. Random values are used as the initial values of parameters. Do not forget to set more relevant initial values, otherwise fit algorithm may fail.
You can adjust Parameters in table using mouse wheel scrolling when mouse cursor is on the desired parameter: Hold Ctrl key (Cmd key on Mac) and scroll. If Shift key is also pressed the parameter step for one wheel 'click' will be increased.
You can use cubic spline to subtract baseline on Fit Plot. To create spline curve click on Add
button in Fit Curves
tab of Fit Plot and select Spline
menu item.
Do not use splines to subtract baselines which can be fit well enough with Line
curve (line or constant baseline). You may mistakenly subtract wide peaks using spline. In some cases Parabola
curve may be more suitable.
Created spline has three anchor points by default. You can move, add and remove anchor points:
Set Baseline
checkbox in spline row in fit curves table to subtract spline from data.
Spline anchor point (x, y) coordinates are treated as fit parameters so you can perform fitting with spline although we don't recommend this technique. Fitting the baseline with some adequate model function is preferred.
It is recommended to set appropriate fit intervals which contain only baseline without peaks. In such case Fit One Curve
button is more acceptable than Fit by Sum
button, because the individual interval for current curve will be used and the interval from Fit Interval
tab (which is used to fit by sum of curves) is ignored. Select spline curve and set Edit Interval
checkbox in the bottom of the panel to edit spline interval, then click on Fit One Curve
button. The anchor point coordinates will be varied but the number of points will remain. You also can lock some parameters (usually x coordinates) by setting Lock
checkboxes in parameters table.
MagicPlot can approximately locate peaks in spectrum. To locate peaks click on Guess
button in Fit Curves
tab of Fit Plot. Peaks are added at position of global extremum of data-baseline
with previous peaks subtracted.
When Guess Peaks
window is open you can see the preview of guessed peaks on Fit Plot. This preview is updated every time you change the parameters in the window.
All predefined Fit Curves are listed in this table. You also can specify custom fit equation. Unlike custom fit equations these curves can be adjusted with mouse on Fit Plot.
Name | Formula | Parameters Meaning | Additional Properties |
---|---|---|---|
Line | a — linear b — constant | ||
Parabola | a — quadratic b — linear c — constant | Vertex: |
|
Spline | Natural cubic spline, on each i-th piece: | xN — anchor point x-coordinates yN — anchor point y-coordinates | |
Gaussian | a — amplitude dx — half width at half maximum (HWHM) x0 — maximum position | Area (integral): Standard deviation: |
|
Gaussian-A (area-normalized) | a — area (integral) dx — half width at half maximum (HWHM) x0 — maximum position | Amplitude: Standard deviation: |
|
Lorentzian | a — amplitude dx — half width at half maximum (HWHM) x0 — maximum position | Area (integral): |
|
Lorentzian-A (area-normalized) | a — area (integral) dx — half width at half maximum (HWHM) x0 — maximum position | Amplitude: |
|
Gauss Derivative | Parameters are the same as for original Gaussian: a — amplitude dx — half width at half maximum (HWHM) x0 — center position | Area of original Gaussian (second integral): Standard deviation: Peak-to-peak horizontal: Peak-to-peak vertical: |
|
Lorentz Derivative | Parameters are the same as for original Lorentzian: a — amplitude dx — half width at half maximum (HWHM) x0 — center position | Area of original Lorentzian (second integral): Peak-to-peak horizontal: Peak-to-peak vertical: |
Fit Curves and Fit Sum are treated as function equations in MagicPlot Fit Plots. But in some cases (e. g. to export and plot fit data with other application) you may want to create (x, y)
table with Fit Curves y-values.
For this purpose use Tools → Export Curves as Table
menu item when Fit Plot is active. This dialog is also available for Figures.
You can either add new Table to a Folder in current Project or export table to a text file.
1. Select column and write formula in formula string.
2. Use Table → Set Column Formula
menu item to open column formula dialog window. See Expression Syntax for details.
Variable i
contains the current row index. Rows are enumerated from 1.
Rows are always evaluated one after another from the first to the last in the specified range. Accordingly the row number i
is incremented after each step.
1
in the first row of column A
and after that set formula cell(A, i-1) * i
and rows interval from 2
to 100
. Note that formula is to be set for rows beginning from the second, and not from the first. You will get the factorial of row number (i
).There are two functions to obtain current table cell values in formula:
col(A)
– returns the value of cell in column A
in the current (i-th) row. Equivalent to cell(A, i)
.cell(A, 3)
– returns the value in column A
and row 3
.
You can use either upper-case letters (A…Z
, e.g. col(B)
) or numbers (1, 2, 3,..
, e.g. col(1)
) in columns numeration in arguments of col
and cell
functions.
col(A) + 15 + cell(B, i+1)
MagicPlot can automatically recalculate formula when data in used columns are changed. Set Auto Recalculate
checkbox to enable this feature.
col(A)*2
for column B and set Auto Recalculate
checkbox. Column B will be recalculated if you change values in column A or column A is updated by other formula or processing algorithm (e.g. integral, derivative of other column).
You can edit column formula and change auto recalculation mode from column context menu or menu Table
. Select exactly one column and open context menu to view this menu items.
Some mathematical functions can be defined only on a certain interval. For example, square root (sqrt(x)
) is not defined for negative numbers (all calculations in MagicPlot are made in real numbers, not complex). Hence if the argument of sqrt
is negative, a Not-a-Number (NaN) is returned. If a NaN value occurs in some part of formula, the result of calculation will also be a NaN, and corresponding table cells will be empty.
The calculations are not terminated if NaN value occurs in some row(s).
In some cases you may want to check if a NaN
values occurs in calculations. MagicPlot shows the warning “Argument is out of range at row #”. This row number is the first row in which NaN
value was returned. MagicPlot also highlights the function or operator which first produces NaN value.
Formula editor is used in the following cases:
MagicPlot uses standard IEEE 754 double precision floating-point arithmetic. Double precision floating point takes 8 bytes per number and provides a relative precision of about 16 decimal digits and magnitude range from about 10-308 to about 10+308.
MagicPlot formula editor highlights expression syntax. It also marks matching brackets and highlights variables:
MagicPlot formula translator is generally case sensitive, i.e. you can write sin
but not Sin
. Note that x
and X
are different variables. You can use this feature when naming Custom Equation
Fit Curve parameters.
.
) only as decimal separator, and separate function arguments with a comma (,
) in:.
) or comma (,
) as decimal separator, and separate function arguments with a semicolon (;
) in the following cases:
You can use e
or E
for scientific notation: 1.45e-3
or 1.45E-3
.
You can freely insert space characters and line breaks in formula, but do not break function names, numbers, operators. You do not need to enter special characters to indicate line break.
You can set a local variables in expression. Use semicolon to separate variable assignments and the result expression: a=5; a*a + 2*a + 1
. The expression after the last semicolon is the result expression. The variables are calculated in the present order so you need to assign the variable before usage.
You can see a list of all available functions and their descriptions in Functions
tab in Set Column Formula
window and in Help on Functions
window which can be opened from menu in calculator window.
MagicPlot uses functions of Java programming language library StrictMath
to evaluate sin
, cos
, exp
, etc. These functions are available from the well-known network library netlib
as a “Freely Distributable Math Library”, fdlibm
package. The same library is widely used in many scientific computing applications.
Special functions (Bessel, Erf, Gamma, Beta) calculation is based on Colt 1.2 library.
MagicPlot supports all standard trigonometric functions (sin
, cos
, etc.). All angles are always measured in radians for clarity.
You can use the following functions to convert angles units:
deg(a)
— converts angles input in radians to an equivalent measure in degrees.rad(a)
— converts angles input in degrees to an equivalent measure in radians.sin(rad(90))
deg(asin(1))
The predefined constants are:
pi, Pi, PI
— π = 3.1416… value (the ratio of circumference of a circle to its diameter).e
— e = 2.7183… value (the base of the natural logarithms). Note: expression e^a
is evaluated as exp(a)
.inf
, Inf
, infinity
, Infinity
— positive infinity value which may be used in some calculations. Note: write -inf
for negative infinity.eps
— machine epsilon, gives an upper bound of the relative error due to rounding in floating point arithmetic. Note: eps = ulp(1) = 2^(-52) = 2,2204E-16
. (52 is the number of bits used to store fractional part of a number.)
MagicPlot can interpret boolean logic expressions. Zero is interpreted as false
and non-zero values are interpreted as true
similarly to C programming language (Note: legacy MagicPlot versions 2.9 and older interpret zero and negative values as false
, this was changed in the 3.0 version). You can use simple logical operators which are described below. Use 1
as true
and 0
as false
.
The conditional logical function is if(condition, a, b)
. If condition
argument is true
(non-zero) it returns the second argument (a
), otherwise it returns the third argument (b
).
if(col(A) >= 0, col(A), -col(A))
— evaluates absolute value of column A (you can use abs(col(A))
for that, of course).if(col(B) >= 0, col(B), NaN)
— returns only positive values from column B. Negative values are replaced with NaN
value (empty cell). You can use this expression to filter negative values if you do not want to use them in future calculations. Note that “Not-a-Number returned at row #” warning can be shown for such expression.if(col(A) > 0 & col(B) > 0, max(col(A), col(B)), NaN)
a * if(x >= 0, x, -x)
– custom fit function example for abs.
You have to be careful if you need to check equality of two values. Due to inaccuracy of computer floating-point calculations the result of evaluation is always approximate. For example, result of sqrt(3)^2
is the number 2.9999999999999996
, not exactly 3
. The expression sqrt(3)^2 == 3
is false
(it returns 0
). Keep in mind that for convenience MagicPlot rounds numbers when showing on the screen, so this value will be shown as 3
in table if the number of shown fractional digits in MagicPlot preferences is not big enough.
Generally, if you want to check equality of two values you need to use some equality threshold for relative difference. That is, you should compare the modulus of relative difference of two values a
and b
with threshold t
: if(abs((a-b)/a) < t, …, …)
.
sqrt(3)^2 - 3
results something about -4,4409E-16
if(abs(sqrt(3)^2 - 3) / 3 < 1e-10, …, …)
— checks equality of sqrt(3)^2
and 3
with a threshold of 1e-10
.Operator | Description | Operator | Description | |
---|---|---|---|---|
+ | addition | == | equal to | |
- | subtraction | != | not equal to | |
* | multiplication | ! | logical negation | |
/ | division | < | less than | |
% | remainder after division | > | greater than | |
^ | exponentiation | <= | less than or equal to | |
| | logical or | >= | greater than or equal to | |
& | logical and |
Operations | Precedence | Associativity |
---|---|---|
function() | 1 (is evaluated first) | — |
^ | 2 | Right-to-left |
! , - (unary minus) | 3 | — |
* , / , % | 4 | Left-to-right |
+ , - | 5 | Left-to-right |
< , > , <= , >= | 6 | Left-to-right |
== , != | 7 | Left-to-right |
& | 8 | Left-to-right |
| | 9 | Left-to-right |
= (assignment) | 10 (is evaluated last) | Left-to-right |
Operators with lower precedence value are evaluated earlier. You can use brackets to change calculation sequence.
Expression is evaluated left-to-right, excluding repeated exponentiation operator ^
. The ^
operator is right-associative like in Fortran language (evaluated right-to-left; note that in general case a^(b^c) ≠ (a^b)^c
). Hence a^b^c
is evaluated as a^(b^c)
. The reason for exponentiation being right-associative is that a repeated left-associative exponentiation operation would be less useful: Multiple appearances could (and would) be rewritten with multiplication: (a^b)^c = a^(b*c)
.
1 + 2 * 3
returns 7
.(1 + 2) * 3
returns 9
.2*-3
returns -6
.-3^2
is equal to -(3^2)
, because ^
priority is higher than that of unary minus. The result is -9
.(-3)^2
returns 9
.2^2^3
is equal to 2^(2^3)
, because ^
is right-associative operator. The result is 256
.
You can insert comments in any formula using /*…*/
notation.
Press Ctrl+/
on Windows/Linux or Cmd-/
on Mac OS to comment selection. Comments can be multi-line. Note that the single line comments using a symbol at the line start are not supported because line breaks are not taken into account in MagicPlot formula syntax.
To sort Table select Table → Sort Table
menu item. You can sort the entire table or only selected area (columns and rows selection). You can also use Sort by This Column
item in Table context menu (exactly one column must be selected).
You may specify multiple sorting criteria columns. If the value in the first criteria column are the same MagicPlot will compare the values from the second criteria column if specified.
MagicPlot Pro supports the following processing methods available in Processing
menu:
To process data first select desired table columns or curves then select appropriate item in Processing
menu. Processing parameters dialog will be opened.
All processing algorithms except histogram
require X and Y values to be set. Therefore select X column along with Y column(s) if you are processing data from table.
Different processing tools need different number of input columns or curves. You can process multiple selected columns of curves if one column or curve is enough for used processing method. Smoothing for example has one curve input so you can select smooth multiple curves at time. Otherwise Fourier transform need two (real and imaginary) curves so you cannot process multiple data with one click.
MagicPlot can automatically recalculate formula when data in used columns are changed. Set Auto Recalculate
checkbox to enable this feature.
You can edit processing parameters after processing using context menu of processing result (column or curve). You can also change processing parameters of multiple selected curves which were processed in the same way:
Open Table or Figure or Fit Plot with initial data and select Processing → Smooth
menu item. The opened processing dialog shows parameters, initial curves (semi-transparent) and smoothed preview.
Periodic
checkbox applies on calculation of first and last p/2 points. When it is set MagicPlot will take missing values from the opposite end (as if the signal is periodic) to calculate first and last p/2 points.
Two algorithms are available: Central Moving Average and Savitzky-Golay method.
Each value Ak is replaced with p-points average:
.
If Periodic
checkbox is not set the first and last p/2 points are calculated with the same symmetrical formula but with less summands.
A Savitzky–Golay filter essentially performs a local polynomial regression on a series of equally spaced data points. Each data point value is replaced with local polynomial value at this point.
If Periodic
checkbox is not set, MagicPlot will repeat the values of the first and last points to calculate a polynomial for the first and last p/2 points.
Open Table or Figure or Fit Plot with initial data and select Processing → Integrate
menu item.
If your initial data to be integrated contains a baseline (usually constant or linear), you may want to subtract it from data before integrating. (A constant baseline will result in linearly growing integral.)
In such case the algorithm may be the following:
Fit Sum
buttonBaseline
checkbox in curves listProcessing → Integrate
to integrate the plotted data without baseline.To perform integration you should specify two columns: x and y. Missing values are ignored.
MagicPlot uses trapezoidal rule to compute the integral:
Open Table or Figure or Plot with initial data and use Processing → Differentiate
menu item.
To perform differentiation you should specify two columns: x and y. Missing values are ignored.
MagicPlot uses central difference formula to compute the derivative:
First and last points (i=1 and i=N) are computed as follows:
Open Table or Figure or Plot with initial data and use Processing → Fast Fourier Transform
menu item to perform FFT.
Fast Fourier transform algorithm computes discrete Fourier transform exactly and is used to considerably speed up the calculations.
Note that FFT is not an approximate method of calculation.
Sampling Interval | Sampling interval of original data Δt is used to compute the data in resulting sampling column. MagicPlot calculates sampling interval as a difference between second and first values in Sampling column. You can set sampling interval manually in Sampling Interval field. Note that using of discrete Fourier transform implies that the samples in your original data are equally spaced in time/frequency, i.e. the sampling interval is constant. If the sampling interval is varying or real and/or imaginary data contains empty cells in the middle, the result of discrete Fourier transform will be incorrect. |
---|---|
Real, Imaginary | Columns with real and imaginary components of data. If your data is purely real, select <none> imaginary item |
Forward / Inverse | Transform direction (here Inverse also equals to Backward ) |
1/N in forward transform | Divide forward transform result by number of points N (see formulas table). If your original data is real, you may want to additionally multiply the result by 2 to get the true amplitudes of real signal. Also referred as Normalize in some other applications. |
Center zero frequency | If selected, after forward Fourier transform the two parts of spectrum will be rearranged so that the lower frequency components are in the center; the opposite rearrangement of spectrum will be done before inverse transform if any. Also referred as Shift FFT in some other applications. |
MagicPlot uses the algorithm of FFT that does not necessarily require the number of points N to be an integer power of 2, though in such a case evaluation is faster. MagicPlot uses jfftpack library (a Java version of fftpack).
By default MagicPlot uses 'electrical engineering' convention to set the sign of the exponential phase factor of FFT: forward transform is computed using factor -1
. Most scientific applications use factor -1
in forward transform as MagicPlot does by default. But note that the sign of exponential phase factor in Numerical Receipts in C, 2nd edition, p. 503 and in MATLAB package in forward transform is +1
.
Factor −1 (Default) | ||
---|---|---|
1/N in forward transform | Forward Transform (Signal→Spectrum) | Inverse Transform (Spectrum→Signal) |
Checked (Default) | ||
Unchecked |
Factor +1 (Scientific) | ||
---|---|---|
1/N in forward transform | Forward Transform (Signal→Spectrum) | Inverse Transform (Spectrum→Signal) |
Checked (Default) | ||
Unchecked |
Here cn are complex signal components and Cn are complex spectrum components, n = 1…N. The only difference is in the sign of exponential phase factor and 1/N multiplier.
Note: if you expect to get the original data when doing an inverse FFT of forward FFT, set the 1/N in Forward Transform
, Center Zero Frequency
and Factor
options the same for forward and inverse transforms.
Because of using atan2
function the phase is unwrapped and is in range (−π, π]. The result of atan2(y, x)
is similar to calculating the arc tangent of y/x
, except that the signs of both arguments are used to determine the quadrant of the result.
Sampling column contains frequency samples if forward transform is performed and time samples in case of inverse transform.
Center zero frequency | Formula | Sampling Column Values |
---|---|---|
Unchecked | ||
Checked |
Here Δt is given sampling interval of initial data (time for FFT and frequency for IFFT), n = 1…N.
Fourier transform implies that the original samples are uniformly distributed in time (for forward transform) or frequency (for inverse transform).
Open Table or Figure or Fit Plot with initial data, select desired curves or columns and click Processing → Convolution
or Deconvolution
menu item.
Linear
/Circular
radio buttons specify the signal to be treated as periodic or not.
MagicPlot computes convolution and deconvolution using FFT (see Convolution_theorem).
Open Table or Figure or Fit Plot with initial data, select desired curves or columns and click Processing → Correlation
menu item.
Linear
/Circular
radio buttons specify the signal to be treated as periodic or not.
MagicPlot computes correlation using FFT (see Cross-correlation theorem).
Open Table or Figure or Fit Plot with initial data and select Processing → Histogram
menu item to calculate histogram.
You can either set the bin size/count manually or specify auto binning criteria.
MagicPlot align the the lower limit of the first bin exactly at the beginning of specified histogram range (From
field). The upper limit of the last bin is calculated on the basis of the specified bin size and may be greater than the specified right histogram limit (to
field) as shown on the screenshot above. Enter round value in the From
field if you want the lower limit of the first bin to be round.
You can enter custom criteria in Auto Binning
combo box:
k=...
means setting the number of bins k
h=...
means setting the bin size h
.You can use these parameters in the expression:
n
— the number of data pointss
— data standard deviationm
— data meanmin
— data minimummax
— data maximum.The default alternatives are:
MISE optimisation
— Shimazaki method. MagicPlot finds the minimum of Mean Integrated Squared Error (MISE) for the number of bins from 2 to min(n/2, 20n1/2)
where n
is the number of data points. See this paper and site for details: Shimazaki and Shinomoto, Neural Comput 19 1503-1527, 2007, http://2000.jukuin.keio.ac.jp/shimazaki/res/histogram.html.
This option is used when the histogram is recalculated. Recalculation may be cause by input data change (if Auto Recalculate
checkbox is selected) or invoked manually (Recalculate
menu item in histogram table column context menu).
Select Tools → Statistics
menu item to open the statistics dialog. Statistics dialog shows statistics on currently selected table columns or curves on plot. The statistics is updated every time you activate different windows or change the selection in active window. Select multiple instances in one window (columns or curves) to view multiple statistics data.
By default some statistical properties are not shown. Click Show
button to select which properties you want to calculate.
You can also calculate statistics on table columns using column statistics functions when entering column formula. See Functions
tab in Set Column Formula
dialog for column statistics functions description. These functions are also available in MagicPlot Student edition.
Central moments are calculated as follows (see table). All sums are calculated using compensated summation. Central moments are calculated on second pass after Mean calculation.
Property | Formula |
---|---|
n | The number of non-empty cells |
Mean | |
Central moments |
MagicPlot uses the following formulas to calculate statistics:
Property | Formula |
---|---|
Mean (expected value) | |
Variance | |
Standard deviation | |
Skewness | |
Kurtosis | |
Y Sum |
Setting of intervals in Fit interval
tab of Fit Plot was initially intended for specifying the range of data which are used for fitting by sum of fit curves. However, this tab can also be used to calculate integrals and statistics on these intervals. Data-Baseline is used to calculate the results.
MagicPlot can integrate data on selected intervals and calculate peak moments (x mean, variance, skewness, kurtosis). Spectrum line is treated as probability distribution curve: x values are treated as 'independent variable' and y values are treated as 'probability'. Standard statistical formulas are used to calculate moments (see below).
Statistical data and integrals are automatically updated if x or y data are changed or intervals are changed.
All statistical data are summarized in the intervals table:
Move interval borders with mouse. Double click on interval to split it at desired position. Right click opens context menu from which new intervals can be created on free space and existing intervals can be deleted or split.
MagicPlot can calculate relative integrals to compare the relative intensity of spectrum lines. To compute relative integrals set Relative integrals
checkbox. MagicPlot designate the smallest integral as 1, but you can enter a custom value. If you want to set not the smallest integral as a reference point, enter 1 first and then enter the value of desired integral relative to 1 into this field, so that other integrals will be calculated relative to this new value.
Central moments are calculated as follows (see table). All sums are calculated using compensated summation. Central moments are calculated on second pass after Mean calculation.
Property | Formula |
---|---|
n | The number of non-NaN (x,y) points |
Y Sum (normalization) | |
X Mean (first moment) | |
2, 3, 4th Central moments |
MagicPlot uses the following formulas to calculate intervals statistics:
Property | Formula |
---|---|
Integral | Calculated using Trapezoidal rule |
X Mean (expected value) | |
Variance | |
Standard deviation | |
Skewness | |
Kurtosis |
MagicPlot Batch Processing allows to automatically process multiple similar data in the same way without programming (scripting) and recording of macro. One only have to ordinarily process the first data set manually and then use it as a template for processing of the rest data sets. Batch Processing includes the processing of data itself and semiautomatic fitting of the series of similar data.
Here is short video tutorial about batch processing: http://www.youtube.com/watch?v=L7RRraY6Dkc
Batch Processing idea is based on creating a copy of project components (Tables, Figures, Fit Plots) with formula links between them, pasting new data into the copy of source Table and recalculation of depending data using formulas.
The Table which contains the imported data from the first manually processed data set is called Template Table
.
For each file MagicPlot will:
Fitting of series dialog will be opened after batch processing. This tool allows you to fit multiple data with the same model.
It is supposed that you have a number of text (ASCII) files with similarly formatted source data to be processed.
The overall processing steps are:
Project → Import Text Table…
menu item) and process it. You can add new columns with formulas, calculate some derivative data (histograms, FFT, etc.), create Figures and Fit Plots. There is one simple restriction: Do not change the sequence of leftmost columns with imported source data: do not insert columns left, delete and move these columns. Table sorting and transposing is also not supported in Batch Processing. Project → Import with Batch Processing…
menu item. In the opened file dialog select all rest files in the series except the first file which has been already processed. Use Shift
and Ctrl
to select multiple files. Batch Processing
dialog:Import Options
: Check the file format settings. Processing Template
: Specify the Table with data from the first file (already processed) as Template Table. The program will automatically show the derivative components with related data. You can also deselect some components to prevent cloning. Files Order & Values
: Set up the file names parsing to get some values to include into summary table. Select the files sorting. Note that the already processed file will always be the first. Batch Processing
button to start processing. MagicPlot will create a copies of Template Table and all derivative components and paste new data in the leftmost columns.
The Fitting Series
dialog will be opened after the batch processing finishes if some Fit Plots were created during the processing. If more than one Fit Plot was created for Template (and for each data set also), multiple tabs with Fit Plots will be shown in the window. Each tab will show one Fitting Series.
The Fitting Series
dialog window is a standard Fit Plot panel with the list if data sets and options for the fitting series added on the bottom. The Fit Plot interface is described here: Nonlinear Curve Fitting: Fit Plot. The list of imported data sets to process is shown on the bottom left. Fit Plot panel shows the data from the selected line. Each data set will be processed in the same way as shown in the window:
Please pay attention on the source curves alternative: from the template or from the previous data set. This setting manage which curves and initial values of parameters will be used for nonlinear fitting of each data set. The recommendations are the following:
Previous
if your data in data set changes 'evolutionary': the values of parameters (ex. peak positions) are changed progressively from one plot to another. This variant appears when you examine the dependency of your data on some parameter. Example: you heat the sample step by step and measure the spectrum; the temperature rises from one spectrum to another and peaks are moved. Each plot is more similar to the previous one then to the first one (the template).Template
if all of your data sets are independent and no 'evolution' process can be seen between plots. Each plot is more similar to the first one (the template) then to the previous one.You have 3 alternative buttons to process:
Process
– processes the currently selected Fit Plot: The curves are copied from the previous or the first Fit Plot and fitting is performed. All existing curves will be removed from current Fit Plot before coping curves from previous/first Fit Plot.Process Next
– opens and processes the next Fit Plot.Process All Next
– automatically processes all the Fit Plots next to the currently selected Fit Plot. This option is equal to the manually pressing Process Next
button until all Fit Plots will be processed.
When using step-by-step batch processing (Process
/ Process Next
buttons) you can change the fit for the currently selected plot. You can change the initial values of the parameters (move peaks manually), add or remove peaks. Don't forget to launch the fitting after the manual changing of the curve list or the parameters values.
Summary Table will be created after finishing fitting series. This table contains the values of all fit parameters and standard errors for all processed data sets. You can use this data to create a Figure or Fit Plot or export it.
By default the values in Summary Table will be updated if the values of fit parameters on Fit Plots changes.
You can open Fit Series
dialog using Fit Series Summary → Open Fitting Series Dialog…
in summary table.
MagicPlot provides useful plot data navigation (scale scrolling and zooming). Here are several tools and methods:
If your Figure contains more than one Axes box, MagicPlot indicates which Axes are currently selected with blue circle sectors in the corners of Axes box. The current Axes selection affects the action of scale buttons and Add to Selected Axes
item in Table context menu. It also helps you to distinguish the Axes when you change style in the Figure Properties
dialog window.
MagicPlot shows mouse cursor data coordinates in status line. If you have several axes on one Figure, cursor coordinates relative to selected axes are shown.
MagicPlot can draw crosshair cursor. To turn it on use View → Crosshair Cursor
menu item.
MagicPlot denotes the data point under the mouse cursor with square brackets. The accurate table value in this point along with table name, row and column numbers is shown in status line in the bottom of main window in the following format:
Folder | Table [x column; y column][row] = (x value; y value)
Use context menu of the Curve to open table with data or to open properties dialog.
You can use Scale Zoom tool to measure the distances on plots. MagicPlot shows the distance in status line when you select zoom box by mouse dragging. You can press Esc
or reduce box size to zero before releasing mouse button to prevent zooming if you want only to see the distance. If multiple axes are located under cursor MagicPlot will show the distance in terms of current axes (showed with blue corners).
Curves on Figures and Fit Plots can be selected with mouse click. You can also select Curves in turn using Arrow keys
or Tab/Shift+Tab
keys:
→
or ↓
or Tab
selects the next Curve←
or ↑
or Shift+Tab
selects the previous Curve.If no Curves are selected the first pressing on these keys will select the first Curve. If the Figure contains multiple Axes, the Curves in all Axes are accessible in turn by this method.
Quick Plot tool is used for viewing a plot of Table columns without adding new Figures to Project. Select Tools → Quick Plot
item to open this tool.
When Quick Plot window is open select some columns in Table to view the plot.
To create a Figure select desired columns (one for X and one or more for Y) in Table and select Create Figure
item in context menu. You also can use Create Figure
button on the main toolbar.
A new Figure will be created and data selection dialog will be opened. Check the columns for plotting in the right list and specify which column must be treated as X. The rest columns will be used as Y values. So you can add multiple curves with different Y and the same X column.
To create a Color Map Plot, open the Table with matrix data, open a context menu and select Create Figure
→ Color Map
item or use Create Figure
button on the Toolbar.
Selection in the table is ignored, the whole table is used for plotting matrix.
The Color Map Plot can be configured in the Properties dialog which can be opened by double click on the Color Map or using the context menu.
X and Y data for plotting can be specified in the 'Data' tab of the Properties dialog. MagicPlot supports 3 alternatives for X and Y values for the plotting matrix:
The non-uniform (not equally spaced) data in the X/Y columns is supported. The values can also be unsorted.
In MagicPlot the Color Map Plot is treated as a generalized 'Curve', so it can be combined on a one Figure with other Curves in the one Axes box. The Color Map Plot is shown in 'Components' list in Figure properties dialog. The drawing sequence can be changed in this list.
The axes grid (if it is switched on) is drawn on top of the last (upper) Color Map Plot in the Axes box.
You can select, copy and paste Color Map Plots between Figures and Axes boxes as any other Curves.
The most often used properties of a Color Map Plot can be changed on the Inspector toolbar (the second row of main window toolbar). The full settings list is available in the Properties dialog which can be opened by double click on the Color Map or from context menu.
The Color Map style and the legend color bar style can be edited in the Color Map Properties dialog:
The Color Map palette can be customized by pressing the 'Customize' button on the 'Style' tab of the Color Map properties dialog.
The buttons below the color table are:
MagicPlot contains several build-in palette presets. After editing a palette you can also save your own preset by pressing the 'Save Preset' button. The selected preset can be renamed or deleted using 'Menu' button.
Custom presets are saved in files with the .mppc extension. You can open the folder which contains custom preset files using the 'Menu' button. Use the 'Reload Presets List' menu item after adding new files in the presets folder.
More palette presets can be found on this page: Additional Color Map Palettes
You can import a palette from other applications or text files using the 'Menu' button. MagicPlot supports RGB values and hexadecimal color codes.
The current palette setting will be overridden (this operation can be undone).
You can paste red, green, blue
values or red, green, blue, alpha
values in the opened dialog box. The values must be separated by comma, semicolon, tab or space, one color per line. The both 0…1 and 0.255 values are automatically supported.
The comma as a decimal separator is supported only if values are separated by tabs or semicolons. Otherwise the dot only must be used as a decimal separator.
Paste hexadecimal color codes in the opened window. The values can be with or without the '#' prefix. The values must be separated by the new line, comma, semicolon, tab or space characters.
MagicPlot renders the Color Map Plot as a high-resolution raster image which is included into the vector image file (EPS, PDF, SVG, EMF). Therefore the file size does not depend on the data matrix dimensions. The resolution of the Color Map image is set by the DPI value in the 'Canvas' tab of the Figure properties dialog.
The Postscript (EPS) and EMF image format does not support the transparency in the color maps.
MagicPlot store palette colors as 4 floating-point numbers (Red, Green, Blue, Opacity). Note that even if color components are represented in 0…255 range, the fractional digits still make sense if smooth color interpolation is selected.
In the 'Smooth' and 'Manual Levels' color interpolation modes MagicPlot interpolates colors linearly in the sRGB color space.
MagicPlot supports 3 color map spatial interpolation modes: off (nearest neighbor), bilinear and bicubic.
MagicPlot performs the bicubic interpolation using the cubic Hermite spline. For uniform (equally spaced) x or y values this method is equal to the conventional bicubic interpolation algorithm (which is widely used for the image resizing) with the coefficient a=-0.5
.
You can add a new Axes box to a Figure using the Add
menu either in the Figure window or in the Figure properties
dialog.
The Add & Arrange Axes as Table
menu item can also be used for arranging of the existing Axes boxes as a table.
This dialog opens by selecting Add & Arrange Axes as Table
menu item. It may be used for adding new Axes boxes and for arranging the existing Axes boxes without adding a new one.
Axes box can be moved and resized as any other drawn object on the Figure canvas
The Using of Dimensions Toolbar toolbar can also be used to set exact Axes box size and position. Open the Dimensions toolbar and select an Axes box to edit the values.
The best way to create a Figure with desired data is to select x and y data columns in Table and use Create Figure
in Table context menu.
There are different ways to add data to existing Figure:
Add to Selected Axes
sub-menu. All currently opened Figures are listed in this sub-menu.Figure Properties
window and go to Axes Properties → Components
tab. Here you can select the Table in the project tree and press Add to Axes
button.You also can add Fit Curves or Fit Sum from Fit Plot to Figure.
To change Curves drawing order and legend entries order open Figure Properties
dialog and go to Axes Properties → Components
tab. Drag rows in table to reorder. You can also use Up
and Down
buttons or press Alt + up/down keys (Option + up/down keys on Mac) to move selected row in table up or down.
MagicPlot allows you to set individual x and y shifts for every Curve on Figure. This feature may be used to compare several similar Curves on one Figure.
Specified Curve shifts do not affect your data and are used only for drawing current Figure.
Curve shifts can be set in X Shift
and Y Shift
columns in Axes Components table (scroll table right if these columns are not visible). Waterfall
menu contains items for making and resetting 2D waterfall and reversing curves order.
Reset Shifts
sets all x and y shifts to zeroMake Waterfall
automatically calculates shifts and arranges Curves
Make Waterfall
menu item opens waterfall window in which you can specify shift increment. MagicPlot tries to guess handsome shift values on the basis of number of curves and current scale.
Figure Templates is a powerful tool for reusing axes layout of previously created Figures. To use Figure Templates, open Figure Properties window and select Templates tab.
Templates are stored in a special folder in your operating system account profile. Project files do not contain templates; changes in Projects do not affect Templates.
To create a template from Figure open the Figure Properties window, select Templates tab and press 'Save Template' button. Then enter the new template name in opened dialog window.
MagicPlot always saves all available information in the template (not regarding on checkboxes state).
To apply template to figure open the Figure Properties window and select Templates tab. Select desired template in the saved templates list. Then check or uncheck boxes with features to apply and click on 'Apply Template' button.
When you apply a template to Figure, the properties are copied from template to Figure. Note that the Figure style will not be changed if you change the template after you have applied it to Figure. The project file is standalone and you do not need the template to open project.
You can undo applying template in a standard manner (no need to close the Figure Properties window).
Axes style can be set in Figure Properties
window (or Fit Plot Properties
for Fit Plot). This window contains multiple tabs with axes drawing settings.
You can draw the following kinds of objects on Figures and Fit Plots:
Select an appropriate instrument in the toolbar to draw an object.
The properties of selected objects can be changed in the inspector toolbar (the second row of toolbar).
If you need to precisely draw some small objects you can zoom in the image using slider in right bottom (Pro only).
There are several alternative ways to change the image zoom:
1x
and Alt+click (Option+click on Mac) on plot fits the image to the window.
Every object can be selected by clicking on its border or inside it. Hold Ctrl
key (Windows, Linux) or Shift
key (Mac OS) and click another object to add it to current selection.
When objects overlap, you can change the order of objects drawing. Use Bring to Front
and Send to Back
items in object context menu (right click on object to open menu).
You can change the order of drawing the curves on Figure. The curves order can be set in Figure Properties
window, Axes Properties
tab → Components
tab. Select desired curves in list, then hold Alt
and press up/down arrow keys. You may also use Move Up
and Move Down
items in Waterfall
button menu.
When you drag an object or change its size, MagicPlot will try to snap the bounds of this object to other objects. While snapping MagicPlot shows you a red ruler and an object to which the bounds are snapping. If you do not want to align your objects this way, hold Ctrl
key to disable snapping.
In MagicPlot you can set the opacity of each object (curve, text label, rectangle, etc.) to make it semi-transparent. Opacity is treated as a property of object color. You can set opacity in Opacity
sub-menu in color pop-up menu which opens by clicking on color button. Opacity percentage is shown on colour button.
To create an image with transparent background open Figure Properties
or Fit Plot Properties
dialog window and set Transparent Background
radio button in Canvas
tab.
The background of transparent Figures and Fit Plots is shown with a grey-and-white chequerboard. If you are preparing a picture for a dark background you can change the colour of chequerboard to dark grey by selecting View → Transparency Checkerboard
in main menu.
In case of transparent background you can set the preview background colour in Image Preview
window.
This toolbar is intended for precise setting of the position and size of one or more selected drawn objects on Figure or Fit Plot.
You can open Drawing Dimensions toolbar by selecting Tools → Drawing Dimensions
in main menu. Dimensions toolbar may be left opened.
Drawing Dimensions toolbar shows the coordinates and size of currently selected object(s). You can also specify the coordinates or size of several components.
Antialiasing off | Antialiasing on |
You can toggle curves antialiasing (smoothing) by selecting View → Curves Antialiasing
in main menu.
Please note that antialiasing may slow down the drawing if you have many data points (~100K).
MagicPlot supports any Unicode symbols, including Greek letters and many special symbols.
The help on inserting Greek letters and special symbols is also available in Help
menu.
To insert Greek letter type Ctrl+G
(Command G
on Mac OS) and then type Latin letter mentioned in the table below.
Greek Letter Name | Greek Symbol | On Keyboard (Ctrl+G, then) |
---|---|---|
Alpha | Α α | A a |
Beta | Β β | B b |
Gamma | Γ γ | G g |
Delta | Δ δ | D d |
Epsilon | Ε ε | E e |
Zeta | Ζ ζ | Z z |
Eta | Η η | H h |
Theta | Θ θ | Q q |
Theta (alt.) | ϑ | J |
Iota | Ι ι | I i |
Kappa | Κ κ | K k |
Lambda | Λ λ | L l |
Mu | Μ μ | M m |
Nu | Ν ν | N n |
Xi | Ξ ξ | X x |
Omicron | Ο ο | O o |
Pi | Π π | P p |
Rho | Ρ ρ | R r |
Sigma | Σ σ | S s |
Tau | Τ τ | T t |
Upsilon | Υ υ | U u |
Phi | Φ φ | F f |
Phi (alt.) | ϕ | j |
Chi | Χ χ | C c |
Psi | Ψ ψ | Y y |
Omega | Ω ω | W w |
To insert math symbol type Ctrl+M
(Command M
on Mac OS) and then type symbol mentioned in the table below.
Symbol name | Symbol | On Keyboard (Ctrl+M, then) |
---|---|---|
Multiplication sign | × | * or x |
Middle dot (multiplication) | · | . (dot) |
Division slash | ∕ | / |
Minus sign | − | - |
Plus-minus sign | ± | + |
Minus-plus sign | ∓ | = |
Not equal | ≠ | n |
Infinity | ∞ | 8 |
To see the full list of shortcuts select Help → Insert Greek Letters and Math
menu item.
To insert the following special characters, simply type character sequences, as shown in the table below. Character sequences will be replaced with special characters when you exit the edit mode (but only if selected font contains required symbols).
You can disable auto replacing in Typography tab of MagicPlot Preferences.
Symbol name | Symbol | Char sequence |
---|---|---|
Em dash | — | --- |
En dash | – | -- |
Ellipsis | … | ... |
Much less than | ≪ | << |
Much greater than | ≫ | >> |
Less than or equal to | ≤ | <= |
Greater than or equal to | ≥ | >= |
Plus-minus sign | ± | +/- |
Minus-plus sign | ∓ | -/+ |
MagicPlot shows in status bar the Unicode code point of character highlighted in text label. To view code point select exactly one character in text label in Figure of Fit Plot.
MagicPlot provides accurate typography in text labels and axes labels. You may toggle some features in 'Typography' tab of MagicPlot Preferences.
MagicPlot supports Latin ligatures in text labels. If you type 'fi', 'fl', etc., those symbols will be shown with ligature glyphs when you exit edit mode.
Edit mode | |
Result |
MagicPlot supports at least the following ligatures:
fi
, fl
ff
, ffi
, ffl
Not all fonts contain ligature glyphs. MagicPlot displays ligatures only if the glyphs are included in used font. You can turn the ligatures off in MagicPlot preferences.
The numbers in scientific notation need two special characters if you want the typography to be accurate: minus sign and multiplication sign. Many graphing software applications which use simplified typography use letter 'x' and hyphen-minus (-) in numbers instead of typographically correct special characters. This simplified typography was mainly used in old applications which do not support Unicode.
MagicPlot can use either correct symbols (default) or simplified. You can change this option in MagicPlot Preferences.
Various minus-like characters are used in different cases and have different height and length. The height and length of minus sign are equal to those of plus sign and correspond to the size of digits in the font. Here is a comparison of these characters:
When you edit some text, keyboard minus key enters hyphen-minus character. The correct minus character can be typed in text label by pressing Ctrl+M, -
, see Inserting Special Symbols for details.
In different languages, multiplication signs differ. In most cases you have to use either '·' or '×' sign. You also can specify any special character or character sequence, for example enter spaces before and after multiplication signs.
Multiplication sign Correct minus sign |
|
Middle dot Correct minus sign |
|
Simplified typography: Latin letter 'x' hyphen-minus instead of minus |
To export Figure or Fit Plot image click on Project → Export Image
menu item or use corresponding toolbar button.
You can set various options of file export format by clicking on Format Options
button in Export Image
dialog window.
You can also copy image to clipboard.
The following lossless raster graphics formats are supported:
Image resolution for raster export can be set individually for every Figure and Fit Plot in Canvas
tab of the Properties
window. The default resolution is 300 DPI.
JPEG is a commonly used format of lossy compression for photographic images. The JPEG compression algorithm is at its best on photographs and paintings of realistic scenes with smooth variations of tone and color. However, JPEG is not suited for line drawings and other textual or iconic graphics, where sharp contrasts between adjacent pixels cause noticeable artefacts. Such images are better saved in a lossless raster graphics format such as BMP, GIF, PNG or vector graphics formats.
PNG and JPEG Comparison 2) | |
---|---|
PNG | JPEG |
The following vector graphics formats are supported:
You also can use third-party virtual printer software to save an image in vector graphics format (use Project → Print
menu item).
Allow Pdfmark Transparency
checkbox in EPS format options, add /AllowTransparency true
into Acrobat Distiller's .joboptions
file.
Use Project → Image Preview
menu item to open image preview window. You can also use the Preview
button of the toolbar or Ctrl+Shift+P
keyboard shortcut (Cmd+Shift+P
on Mac).
In preview mode you can:
There are several options for the size of preview:
Percent of real size
. Note: The size will be actually real only if the dots per inch (DPI) is correctly set in your operating systemFit to Window
, Fit Width
, Fit Height
— fits the size of previewed image to window dimensionsPixel-to-Pixel
— allows you to see the accurate image that you will get using export in raster image format. The resolution of exported raster image is evaluated as a product of canvas size and DPI value specified in Canvas
tab of Figure/Fit Plot Properties window.When you edit a presentation or report, it is very useful to paste images from MagicPlot to another application directly through clipboard without saving them.
MagicPlot supports copying images to clipboard in both raster and vector formats from Edit
menu. Transferring vector images is always preferable because these images are scaled more precisely. However, we have found that some applications do not support pasting vector images, or paste vector images with distorted text. In this case, please use copying raster image.
MagicPlot Calculator is a useful formula calculator built in MagicPlot. To open calculator use Tools → Calculator
menu item.
Calculator window stays on top when MagicPlot main window is minimized to task bar (Dock on Mac), so you can use the Calculator when working with other applications.
(12+4)*sin(pi/2)
and press Enter
to get the resulta=5
to set variable a
to 5ans
variable or press Ctrl+Up to insert the result of latest operationMagicPlot Calculator uses the same Expression Syntax as other formula fields in MagicPlot application.
MagicPlot keyboard shortcuts are almost the same in different operating systems (Windows, Mac OS, UNIX-like). The main difference is in modifier keys used: Ctrl on PC (Windows, UNIX-like) and Command on Mac. Some shortcuts were altered to avoid coincidences with system ones.
You can find these keyboard shortcuts in MagicPlot by selecting Help → Keyboard Shortcuts
menu item.
Windows and UNIX-like Key | Mac OS Key | Action |
---|---|---|
Ctrl+O | ⌘ O | Open project |
Ctrl+S | ⌘ S | Save project |
Ctrl+Shift+S | ⌘ ⇧ S | Save project as |
Ctrl+N | ⌘ N | New project |
Ctrl+Shift+N | ⌘ ⇧ N | New table |
Ctrl+I | ⌘ I | Import table from text file |
Ctrl+Shift+I | ⌘ ⇧ I | Import table from clipboard |
Ctrl+P | ⌘ P | Print (image or table) |
Ctrl+Shift+P | ⌘ ⇧ P | Preview image |
Ctrl+E | ⌘ E | Export image or table |
Ctrl+K | ⌘ K | Open calculator |
Ctrl+U | ⌘ U | MagicPlot preferences |
Ctrl+Q | ⌘ Q | Quit |
Undo/Redo | ||
Ctrl+Z | ⌘ Z | Undo |
Ctrl+Shift+Z or Ctrl+Y | ⌘ ⇧ Z or ⌘ Y | Redo |
Ctrl+Shift+H | ⌘ ⇧ H | Show command history window |
Clipboard | ||
Ctrl+X | ⌘ X | Cut |
Ctrl+C | ⌘ C | Copy |
Ctrl+V | ⌘ V | Paste |
Ctrl+A | ⌘ A | Select all |
Windows and UNIX-like Key | Mac OS Key | Action |
---|---|---|
F2 or Double click | Double click | Edit cell |
Ctrl+F2 | ⌘ F2 | Set or edit column formula |
F4 | F4 | Rename column (edit header) |
Ctrl+Enter | ⌘ Return | Recalculate column |
Alt+Drag header (Win/Meta+Drag header on UNIX) | ⌥ Drag header | Rearrange table columns |
Windows and UNIX-like Key | Mac OS Key | Action |
---|---|---|
Alt+Enter | ⌥ Return | Open Figure or Fit Plot properties window |
Arrows keys | Arrows keys | Move selected object(s) by 1 mm |
Shift+Arrows keys | ⇧ Arrows keys | Move selected object(s) by 0.1 mm |
Escape | Escape | Clear selection |
Delete or Backspace | Delete or Backspace | Delete selected objects |
F2 or Double click | F2 or Double click | Edit selected text label |
Moving and Resizing Drawings | ||
Ctrl+Drag object | ⌘ Drag object | Disable rulers and snapping to other objects |
Shift+Drag corners | ⇧ Drag corners | For rectangle and ellipse: preserve aspect ratio For line and arrow: disable snapping to 0°, 45°, 90°… |
Alt+Drag corners | ⌥ Drag corners | For rectangle and ellipse: stretch relative to center |
Text Labels Editing 3) | ||
Ctrl+Enter or Shift+Enter | ⌘ Return or ⇧ Return | Apply changes |
Escape | Escape | Apply changes |
Enter | Return | New line |
Ctrl+G, then letter | ⌘ G, then letter | Type Greek letter (letters correspondence) |
Ctrl+M, then symbol | ⌘ M, then symbol | Type special math symbol (symbol list) |
Ctrl+B | ⌘ B | Bold |
Ctrl+I | ⌘ I | Italic |
Ctrl+O | ⌘ O | Oblique |
Ctrl+U | ⌘ U | Underlined |
Ctrl+L | ⌘ L | Align left |
Ctrl+E | ⌘ E | Center |
Ctrl+R | ⌘ R | Align right |
Ctrl+J | ⌘ J | Justify |
Ctrl+– | ⌘ – | Subscript |
Ctrl++ | ⌘ + | Superscript |
Scale Range Scrolling and Zoom | ||
Scrolling 4) | Scrolling | Vertical (Y) scale scrolling |
Shift+Scrolling | ⇧ Scrolling or Horizontal scrolling | Horizontal (X) scale scrolling |
Ctrl+Scrolling | ⌘ Scrolling | Vertical (Y) scale zooming |
Ctrl+Shift+Scrolling | ⌘ ⇧ Scrolling or ⌘ Horizontal scrolling | Horizontal (X) scale zooming |
Left mouse button+Scrolling | ⌃ Scrolling | Proportional (X and Y) scale zooming |
Image Zoom | ||
Ctrl++ | ⌘ + | Zoom in |
Ctrl+– or Alt+Click | ⌘ – or ⌥ Click | Zoom out |
Ctrl+* or Ctrl+0 | ⌘ * or ⌘ 0 | Full view |