MagicPlot Manual

Plotting and nonlinear fitting software

User Tools

Site Tools


Table of Contents

MagicPlot User Guide

This PDF document was compiled from MagicPlot online help.

© 2016, Magicplot Systems, LLC


System Requirements and First Launch

MagicPlot is a cross-platform application based on Java technology. You need to install Java software (Java Runtime Environment, also referred to as the Java Runtime, Runtime Environment, Runtime, JRE, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM) with version not older than 7. Java 6 is also referred to as Java 1.7.

Where to get the Java Virtual Machine?

  • Microsoft Windows users:
  • Mac OS X users:
  • Unix-like system users: or
    • If you run MagicPlot jar-file from command line, set the maximum Java heap size by specifying the following parameters:
      java -Xmx1024m -jar magicplot.jar
    • MagicPlot may not launch on old versions of OpenJDK Java Runtime (version 1.7 is enough) which may be installed by default on your Unix-like system. In such case update OpenJDK Java Runtime or install JVM from

First Launch

  • MagicPlot does not need any installation procedure.
  • Place MagicPlot executable file to directory you prefer.
  • MagicPlot preferences and registration data are stored in your operating system profile and are individual for each account.

Opening Projects on Double Click


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. Click to select the Always use the selected program to open this kind of file checkbox if it is not selected.

Mac OS X

MagicPlot project files (.mppz) will be automatically associated with MagicPlot by your operating system.

Portable Installation

MagicPlot can be installed on USB-drive. See Portable Installation on USB drive for details.

Getting Started: Tables, Figures, Fit Plots and Undo

MagicPlot Projects contain Tables, Figures and Fit Plots. MagicPlot Project files have .mppz extension.

  • Tables contain data in various formats.
  • Tables which contain associated data are located in one Folder.
  • Fit Plots are intended for non-linear curve fitting and subtracting baselines.
  • Figures are intended to graphically represent multiple data.

Project tree

Typically, you need to open, edit, process, plot and fit multiple data acquired in various experiments or series of experiments within single project. Ordinarily you have the source (imported) Table and a number of Tables with derivative data, such as Fourier transform or statistics of source Table data. MagicPlot automatically creates a new Folder every time you import new Table. All derivative data is stored in the same Folder by default. All Plots created from Tables in certain Folder are stored in the same Folder.

Close Unused Internal Windows

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.

Undo/Redo and History

MagicPlot supports multiple steps undo/redo function with History dialog window. History dialog supports multiple undo and redo. Undone actions are marked light gray. Last saved state is set off in bold.

Undo/Redo and History menu History dialog

Where to start?

In most cases you may start with importing table from text file by clicking Project → Import Text Table menu item.

Creating Figures and Fit Plots

The easiest way to create Figure or Fit Plot is the following:

  • Select two columns (x and y) in Table containing your data
  • Select 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.

Adding New Table to Existing Folder

You can add new table to existing folder by selecting New Table in Folder context menu.

Folder context menu

Enter Expressions in any Numeric Field

MagicPlot can evaluate simple expressions entered in any numeric text field (brackets are supported, see formula 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):

All numeric fields support expressions

Importing Table from Text File (ASCII)

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.

  • If you open multiple files, you can select the file to preview in files drop-down list (in Text Input Preview frame)
  • If you select incorrect file(s) by mistake, click on Open icon to open file dialog once again and select other file(s).
  • You can set Create Figure or Create Fit Plot checkbox to create Figure of Fit Plot after importing:
    • If you select Figure, the created Figure will contain all imported data from all files
    • If you select Fit Plot, one Fit Plot will be created for each imported file
  • You can enlarge a part of the preview plot by selecting an area by mouse (scale box zoom tool). Use context menu of the plot to change scale zoom to default.
  • F5 key reloads the text file or reloads the data from clipboard.

Import wizard dialog

Command Line Arguments and 'Silent' Import

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 ( request.

Table Editing

In MagicPlot Tables are used to store numeric or text data depending on column type (numeric/text).

Data Types

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


  • Data type is set for entire columns. One column may not contain data with different types.
  • Empty cells are equivalent to Not-a-Number values.
  • Values from text columns are treated as empty cells if used as numbers.

Table Context Menu

Table editing functions are available in table context menu (right click to open).

Table context menu

Changing Column Type

Use Set Column Type menu in column context menu to change column type (numeric/text).

Columns Numbers

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.

Renaming Columns

Double click on column header to rename table column. You can also use Rename Column context menu item or press F4.

Moving (Reordering) Columns

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.

Editing Table

You can edit table cell by double clicking on it. You can enter either a number or an expression (e.g. typing pi in a cell results in 3.1416…, typing 1+2 results in 3).

See Formula Syntax section for expression syntax.

Fit Column Widths

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.

See Also

Missing Values (NaN) in Tables and Calculations

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.

How does a NaN appear?

There are three kinds of operations which return NaN:

  1. Operations with a NaN as at least one operand, e.g. 1+NaN
  2. Indeterminate forms
    • Divisions 0/0, ∞/∞, ∞/-∞, -∞/∞, -∞/-∞
    • Multiplications 0*∞, 0*(-∞)
    • Power 1^∞
    • Additions ∞+(-∞), (-∞)+∞ and equivalent subtractions.
  3. Real operations with complex results
    • Square root of a negative number
    • Logarithm of a negative number
    • Tangent of an odd multiple of 90 degrees (or π/2 radians)
    • Inverse sine or cosine of a number which is less than -1 or greater than +1.
Expression Result
0^0 1
0/0 NaN
sqrt(-1) NaN
1/0 Infinity
-1/0 -Infinity

NaN in MagicPlot Tables

In MagicPlot NaN is also used to represent empty cells in Tables.

Statistical functions ignore NaN values in Tables.

NaN in Expressions

You can use predefined constants NaN, nan or NAN in expressions to specify NaN value.

  • If you set a Column Formula 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.

Creating a Copy of Table, Fit Plot, Folder or Figure

You can create a full copy of selected project components (Tables, Fit Plots, Folders, Figures) by selecting Create a Copy item on context menu.

'Create a Copy' menu item

What Data are Plotted on the Copied Fit Plots and Figures

If the only Fit Plots and Figures are selected for creating a copy, the created Fit Plots and Figures will use data from the same tables and columns as initial ones. If you select also the Tables which contain plotted data, then the created Fit Plots and Figures will use data from created copies of these Tables.

Nonlinear Curve Fitting with Fit Plot

Nonlinear Curve Fitting: Fit Plot

Creating a Fit Plot

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 main menu, or use the same item in Table context menu, or use Create Fit Plot button in the toolbar.

Creating Fit Plot using Table context menu

MagicPlot has been verified with NIST Datasets

National Institute of Standards and Technology (NIST) has created 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.

Fitting Methodology

'Nonlinear' means here that analytical fitting function depends nonlinearly on varying parameters (fit parameters). Fit procedure iteratively varies the parameters of fit function to minimize the residual sum of squares. Nonlinear fitting algorithm needs the user to set the initial values of fit parameters.

To fit the data, implement these steps:

  1. Create a Fit Plot, specify Y errors in Data tab of Curve Properties dialog for data curve, if any
  2. Specify fit function by adding Fit Curves
  3. Specify initial values of fit parameters (drag curves or enter accurate values)
  4. Specify used X data interval
  5. Run fitting

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.

Further reading

This manual does not completely cover the complex nonlinear fitting methodology. We recommend you to take a look at this book:

  • H. Motulsky and A. Christopoulos, Fitting Models to Biological Data Using Linear and Nonlinear Regression: A Practical Guide to Curve Fitting. 2003, GraphPad Software Inc., San Diego CA, PDF is available for free here.

Fit example

Fit Function is a Sum of Fit Curves

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 (Pro edition only). 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:

Fit Curves table

  • Show: Specifies whether to show this Fit Curve on plot. Active only if Baseline checkbox is not set
  • Baseline: Toggles the subtracting of this Fit Curve from experimental data. You also can use Residual button to subtract all Fit Sum from data
  • Sum: Specifies whether to use this Fit Curve in sum fit function

Below the Fit Curves list is a parameters table which shows names, values, and descriptions of parameters relating to selected Fit Curve.

Fitting by Sum and Fitting One 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. Individual interval for each Fit Curve will be used. Set Edit Interval checkbox to edit individual interval for each Fit Curve.

Copying and Pasting Fit Curves

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.

  • The copy of Fit Curves with the same parameters and styles will be created if you paste Fit Curves to a Fit Plot.
  • A link to the source Fit Curves will be inserted if you paste Fit Curves in a Figure.

Fit Curves Reordering

You can reorder Fit Curves by dragging them in table. The data curve is always drawn the first and fit sum is drawn the last.

Setting Initial Values of Parameters

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 plot. Initial parameters values for each Fit Curve can also be set in parameter table.

Moving curves with mouse

Adjusting Parameters with Mouse Wheel

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.

Guessing Peaks

If you are fitting a spectrum with multiple peaks, MagicPlot may automatically add and approximately locate peaks before fitting (Pro edition only). See Guessing Peaks (Pro edition only) for details. Guessed peaks should be used only as the initial estimate for fitting.

Parameter Locking

You can lock (fix) parameter(s) to prevent varying this parameter(s) during fit and to prevent its changing due to setting initial values by mouse dragging (for built-in functions). Set the checkbox in Lock column in parameters list to lock parameter.

Table of Parameters

Parameters Joining

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.

Weighting of Data Points Using Y Errors

MagicPlot allows data points weighting 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.

Specifying Fit Intervals

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 table.

  • Double click on interval to split it
  • Drag the interval border to move it. If intervals intersect, they will be merged
  • Use context menu on the plot to create, delete and split intervals

Note: Data intervals from 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 context menu

Baseline Fitting and Extraction

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 behaviour to exclude baseline from data before integrating, see Integration (Pro edition only) for more information.

'Data-Baseline' Table Column

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.

Viewing the Residual Plot

Residual means here the difference between initial data, baseline function and Fit Sum function. MagicPlot offers two different ways to view the residual:

  • Press and hold the Residual button. The residual will be shown while button is pressed. You can use either mouse or space key (if button is selected) to hold Residual button.
  • You can either set 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 fit process with a special window. Fitting curves are periodically updated on plot while fitting so you can see how fit converges.

Fit progress window

MagicPlot shows current iteration number and deviation decrement with two progress bars while 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.

Fitting One Curve

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 does not contain signal (peaks) and contain only noise.

'Fit One Curve' button

Why My Fit is Not Converged?

In some cases the fit procedure may fail to find the optimal parameters values. The actual mathematical reason for this error is impossibility to invert the matrix α calculated from partial derivatives of fit function with respect to fit parameters. This inverted matrix is used to compute the new values of parameters for 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.

The origin of this error may be:
  • Fit is not converged through one or more parameters: some parameters were taking unrealistically great values during iterations. There are no local minimum of residual sum of squares near the initial values of these parameters. MagicPlot highlights the suspicious Fit Curve in this case.
  • Mutual dependency exists between some parameters. The algorithm cannot resolve which parameter to vary.
  • Fit function is ill-conditioned: the minimized residual sum of squares depends on some parameters much more than on other ones.
  • Numeric overflow (or underflow) when calculating fit function with initial parameter values or on the next steps.
Try one of the following:
  • Specify more accurate initial values of parameters.
  • Simplify the fit function (e.g. remove some peaks).
  • Lock some parameters.

See Also

Fitting Algorithm and Computational Formulas

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).

Nonlinear Least Squares Algorithm

Fit procedure iteratively varies the parameters βk of fit function f(x, β1, …, βp) to minimize the residual sum of squares (RSS, χ2):

chi^2 = sum{i=1}{N}{w_i(y_i – f(x_i, beta_1, ..., beta_p))^2} right min


  • xi and yi are the data points,
  • N is total number of points,
  • f(x, β1,…,βp) is the fit function which depends on value of x and fit parameters βk,
  • p is the number of fit parameters βk,
  • wi are data weighting coefficients for each point (xi, yi).

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 f}/{partial beta_m}(x_i, beta_1, ..., beta_p)

Partial derivatives are computed using explicit formulas (for some predefined fit functions) or with finite difference (for custom equations).

Weighting of Data Points Using Y Errors

MagicPlot can use weighting of y values based on y errors si:

  • If standard y errors si are specified: wi = 1 / si2 1);
  • Otherwise: all wi = 1.

In Fit Plot Properties dialog (Plot Data tab) you can set one of the following methods to evaluate standard y errors si:

  • Get y errors from table column(s),
  • Percent of data for every point,
  • Fixed value or Standard deviation — do not use in weighting because in this case the error values are the same for all data points.

Iterations Stop Criteria

After each iteration except the first MagicPlot evaluates deviation decrement D:

D = delim{|} {{chi^2}_{curr. iter.} / {chi^2}_{prev. iter.} – 1} {|}

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:

  • If the deviation decrements D for two last iterations is less than minimum allowable deviation decrement, which is 10-9 by default
  • If the number of iterations exceeds maximum number of iterations, which is 100 by default

You can change the minimum allowable deviation decrement and maximum number of iterations in Fitting tab of MagicPlot Preferences.

Formulas Used in Fit Report

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 N 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 β p This is the total number of unlocked parameters of fit curves which are summarized to fit.
Degrees of freedom nu N–p
Estimated mean of data overline{y} 1/N sum{i=1}{N}{y_i}
Estimated variance of data s^2 1/{N–1} sum{i=1}{N}{(y_i – overline{y})^2} Not used by fit algorithm, only for comparison.
Data total sum of squares (TSS, SST) TSS sum{i=1}{N}{w_i(y_i – overline{y})^2} Also known as:
• Sum of squares about the mean.
Fit Result
Residual sum of squares (RSS) chi^2 sum{i=1}{N}{w_i(y_i – f(x_i,beta_1,...,beta_p))^2} 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 {{chi^2}_{red.}} {chi^2}/nu = {chi^2}/{N–p} 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 sqrt({chi^2}_{red.}) Also known as:
• Root mean square of the error (Root MSE)
Coefficient of determination R^2 1 – {chi^2}/TSS 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 overline{R}^2 1 – {N–1}/{N–p–1}(1–R^2) 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 Sigma {chi^2}/{N–p} delim{[}{alpha}{]}^{–1},~where~delim{[}{alpha}{]}_{m,n}=
sum{i=1}{N}{w_i {{partial f}/{partial beta_m}(x_i, beta_1, ..., beta_p) {partial f}/{partial beta_n}}{(x_i, beta_1, ..., beta_p)}}
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.)
s_k sqrt{delim{[}{Sigma}{]}_{k,k}} These values are displayed in Std. Dev. column in parameters table.
Correlation matrix of parameters βk C delim{[}{C}{]}_{i,j}=delim{[}{Sigma}{]}_{i,j} / {s_i s_j} 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.

See Also

Joining the Parameters of Fit Curves

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.

Joining parameters example

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.

Joining the areas of two peaks Joining the positions of two peaks

See Also

Specifying Custom Fit Equation (Pro edition only)

To specify custom fit function formula, press Add button and select Custom Equation in popup menu.

  • Enter your formula in y(x)= text field below. Use x as fit function argument. See formula syntax for details.
  • You may recall last entered custom fit functions using Recently Used Custom item in Add popup menu.

Custom fit function example

Fit Parameters

You can introduce Fit Curve parameters with any names except argument x, and constants like e, pi (see predefined constants for details):

  • Parameters names are case-sensitive (a and A are different parameters).
  • Parameters names lengths are not limited.
  • Begin names with letter or _ 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.

Adjusting Parameters with Mouse Wheel

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.

See Also

Using Spline for Baseline Subtraction (Pro edition only)

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.

Editing Spline

Created spline has three anchor points by default. You can move, add and remove anchor points:

  • Move anchor point with mouse
  • Double click on spline curve to add new anchor point
  • Double click on anchor point to remove it

Set Baseline checkbox in spline row in fit curves table to subtract spline from data.

Using spline for baseline fitting

Fitting with Spline

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.

Setting Fit Interval for spline curve Spline subtraction result

See Also

Guessing Peaks (Pro edition only)

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.

Guess peaks dialog

See Also

Predefined Fit Curves Equations

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 y = a x + b a — linear
b — constant
Parabola y = a x^2 + b x + c a — quadratic
b — linear
c — constant
x_0 = − b / {2 a}
y_0 = c − {b^2} / {4 a}
Spline Natural cubic spline,
on each i-th piece:
y_i = a_i + b_i x + c_i x^2 + d_i  x^3
xN — anchor point x-coordinates
yN — anchor point y-coordinates
Gaussian y = a exp(− ln(2) ({x−x_0}/dx)^2) a — amplitude
dx — half width at half
maximum (HWHM)
x0 — maximum position
Area (integral):
S = sqrt{pi / {ln {2}}} ~ a dx
Standard deviation:
sigma = dx / sqrt{2 ln 2}
y = sqrt{{ln {2}} / pi} ~ a / dx exp(− ln(2) ({x−x_0}/dx)^2) a — area (integral)
dx — half width at half
maximum (HWHM)
x0 — maximum position
A = sqrt{{ln 2} / pi} ~ a/dx
Standard deviation:
sigma = dx / sqrt{2 ln 2}
Lorentzian y = a 1 / {1 + ({x−x_0} / dx)^2} a — amplitude
dx — half width at half
maximum (HWHM)
x0 — maximum position
Area (integral):
S = pi a dx
y = a / {pi dx} 1 / {1 + ({x−x_0} / dx)^2} a — area (integral)
dx — half width at half
maximum (HWHM)
x0 — maximum position
A = a / {pi dx}
Gauss Derivative y = − 2 ln(2) ~ {a (x−x_0)} / {dx^2} exp(− ln(2) ({x−x_0}/dx)^2) 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):
S = sqrt{pi / {ln {2}}} ~ a dx
Standard deviation:
sigma = dx / sqrt{2 ln 2}
Peak-to-peak horizontal:
p_x = sqrt{2/{ln {2}}} ~ dx
Peak-to-peak vertical:
p_y = 2 sqrt{{2 ln {2}} / e} ~ a / dx
Lorentz Derivative y=−2 a {x−x_0}/{dx^2} {(1 + ({x−x_0} / dx)^2)^{−2}} 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):
S = pi a dx
Peak-to-peak horizontal:
p_x = 2/{sqrt {3}} ~ dx
Peak-to-peak vertical:
p_y = {3 sqrt {3}} / 4 ~ a / dx

See Also

Export Curves as Table

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.

Export Curves as Table Dialog

Data Processing

Setting Column Formula

There are two ways to set formula for column evaluation:

1. Select column and write formula in formula string.

2. Use Table → Set Column Formula menu item to open column formula dialog window. See formula syntax for details.

 Set column formula dialog

Row Index

Variable i contains the current row index. Rows are enumerated from 1.

Rows Evaluation Order

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.

  • You can use this behavior to calculate factorial: set 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).

Using Table Data

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)

Auto Recalculation on Data Change

MagicPlot can automatically recalculate formula when data in used columns are changed. Set Auto Recalculate checkbox to enable this feature.

  • Set formula 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).

Formula Menu in Column Context Menu

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.

Formula Menu

“Argument is out of range at row #” Warning

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.

See Also

Formula Syntax

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.

Syntax Highlighting

MagicPlot formula editor highlights expression syntax. It also marks matching brackets:

General Rules

Case Sensitivity

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.

Entering Numbers

  • You can use dot (.) 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.

Using Spaces and Line Breaks

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 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.

Trigonometric Functions

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).
  • ee = 2.7183… value (the base of the natural logarithms). Note: expression e^a is evaluated as exp(a).
  • nan, NaN, NANNot-a-Number value.
  • inf, Inf, infinity, Infinity — positive infinity value which may be used in some calculations. Note: write -inf for negative infinity.
  • epsmachine 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.)

Boolean Logic

MagicPlot can interpret boolean logic expressions. Zero and negative values (<=0) are interpreted as false and positive values (>0) are interpreted as true similarly to C programming language. You can use simple logical operators which are described below. Use 1 as true and 0 as false.

'if' Function

The basic logical function is if(condition, a, b). If condition argument is true (greater than 0) it returns the second argument (a), else 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.

Equality Checking

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 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 < less than
/ division > greater than
^ power <= less than or equal to
| or >= greater than or equal to
& and

Operations Priority

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).

Operations Precedence Associativity
foo() (function call) 1
^ 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 Left-to-right
  • 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.

Table Sorting

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).

Sorting Criteria

Sort table dialog

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.

Data Processing and Auto Recalculation (Pro edition only)

Processing of Selected Data

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.

Example: Smoothing Dialog

Processing of Multiple Selected Data

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.

Auto Recalculation on Input Data Change

MagicPlot can automatically recalculate formula when data in used columns are changed. Set Auto Recalculate checkbox to enable this feature.

Editing Processing Parameters

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:

Table Menu

Curve Menu Legend Menu

See Also

Smoothing (Pro edition only)

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.

Smoothing dialog


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.

Central Moving Average

Each value Ak is replaced with p-points average:

A_k = 1/p sum{i=k−{p{/}2}}{k+p{/}2}{a_i}.

If Periodic checkbox is not set the first and last p/2 points are calculated with the same symmetrical formula but with less summands.

Savitzky-Golay Filter

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.

See Also

Integration (Pro edition only)

Open Table or Figure or Fit Plot with initial data and select Processing → Integrate menu item.

Baseline Correction

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:

  1. Create Fit Plot with your initial table data
  2. Add a Fit Curve which simulates the baseline. You may specify a custom equation (Pro edition only)
  3. Specify Fit Interval so that it contains only noise points
  4. Fit the data by clicking Fit Sum button
  5. Subtract the baseline fitting curve from data by checking Baseline checkbox in curves list
  6. Use menu Processing → 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:

I_n = 1/2 sum{i=2}{n}{(x_i} − x_{i − 1}) ({y_i + y_{i − 1})},~ n=2...N;~~ I_1=0

See Also

Differentiation (Pro edition only)

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:

{y prime}_i = 1/2 ({y_{i+1} − y_i}/{x_{i+1} − x_i} + {y_i − y_{i − 1}}/{x_i − x_{i − 1}}),~ i=2...N − 1

First and last points (i=1 and i=N) are computed as follows:

{y prime}_1 = {y_2 − y_1}/{x_2 − x_1} ,~~ {y prime}_N = {y_N − y_{N − 1}}/{x_N − x_{N − 1}}

See Also

Fast Fourier Transform (FFT) (Pro edition only)

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.
Columns with real and imaginary components of data.
If your data is purely real, select <none> imaginary item
Forward /
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).

Discrete Fourier Transform Formulas

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
Forward Transform
Inverse Transform
C_n = 1/N sum{k=1}{N}{c_k e^{−2 pi i k n {/} N}} c_n = sum{k=1}{N}{C_k e^{2 pi i k n {/} N}}
Unchecked C_n = sum{k=1}{N}{c_k e^{−2 pi i k n {/} N}} c_n = 1/N sum{k=1}{N}{C_k e^{2 pi i k n {/} N}}

Factor +1 (Scientific)
1/N in forward
Forward Transform
Inverse Transform
C_n = 1/N sum{k=1}{N}{c_k e^{2 pi i k n {/} N}} c_n = sum{k=1}{N}{C_k e^{−2 pi i k n {/} N}}
Unchecked C_n = sum{k=1}{N}{c_k e^{2 pi i k n {/} N}} c_n = 1/N sum{k=1}{N}{C_k e^{−2 pi i k n {/} N}}

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.

Amplitude and Phase Columns Formulas

A_n = sqrt{{Re_n}^2 + {Im_n}^2},~~ phi_n = atan2(Im_n,~ Re_n)

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 Formulas

Sampling column contains frequency samples if forward transform is performed and time samples in case of inverse transform.

Center zero
Formula Sampling Column Values
Unchecked f_n={n−1}/{N Delta t} 0,~ 1/{N Delta t},~ 2/{N Delta t},~ ... ~{N−1}/{N Delta t}
Checked f_n={n−1−{N{/}2}}/{N Delta t} {−{N{/}2}/{N Delta t}},~ ...~ 0,~ ... ~{N{/}2−1}/{N Delta t}

Here Δt is given sampling interval of initial data (time for FFT and frequency for IFFT), n = 1…N.

Missing Values in the Original Data

Fourier transform implies that the original samples are uniformly distributed in time (for forward transform) or frequency (for inverse transform).

  • Missing values in the middle or in beginning of original data columns are treated as zeros, the result of Fourier transform may be incorrect.
  • Missing values in the end of the column are ignored.

See Also

Convolution and Deconvolution (Pro edition only)

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).

See Also

Correlation (Pro edition only)

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).

See Also

Histogram Calculation (Pro edition only)

Open Table or Figure or Fit Plot with initial data and select Processing → Histogram menu item to calculate histogram.

Histogram creation dialog


You can either set the bin size/count manually or specify auto binning criteria.

Bin Bounds

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.

Auto Binning Criteria

You can enter custom criteria in Auto Binning combo box:

  • Typing k=... means setting the number of bins k
  • Typing h=... means setting the bin size h.

You can use these parameters in the expression:

  • n — the number of data points
  • s — data standard deviation
  • m — data mean
  • min — data minimum
  • max — data maximum.

The default alternatives are:

  • k = sqrt{n} — Default criteria in Excel, Origin and some other software
  • h = {3.49 s} / {n^{1{/}3}} — Scott's formula
  • k = log_2 n + 1 — Sturges' formula
  • 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,

'Keep on Recalculation' Option

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).

See Also

Descriptive Statistics (Pro edition only)

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.

Statistics dialog

Showed Statistical Properties

By default some statistical properties are not shown. Click Show button to select which properties you want to calculate.

Statistical Functions in Column Formulas

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.

Computational Formulas

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 nu_1 = 1/n sum{j}{}{a_j}
Central moments mu_k = 1/n sum{j}{}{(a_j − nu_1)^k}, ~ k = 2...4

MagicPlot uses the following formulas to calculate statistics:

Property Formula
Mean (expected value) mu = nu_1
Variance sigma^2 = {n / {n − 1}} mu_2
Standard deviation sigma = sqrt{sigma^2}
Skewness gamma_1 = sqrt{n (n − 1)} / {n − 2} {mu_3} / {sigma^3}
Kurtosis gamma_2 = {n − 1} / {(n − 2)(n − 3)} ({(n + 1) {mu_4} / {sigma^4} − 3 (n − 1)})
Y Sum s = sum{j}{}{a_j}

Calculating Integrals and Statistics (Pro edition only) on Intervals using Fit Plot

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 (Statistics is only available in Pro edition). Data-Baseline is used to calculate the results.

Peak Moments

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.

Integration on intervals

All statistical data are summarized in the intervals table:

Statistics on intervals

Managing Intervals

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.

Relative Integrals Calculation

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.

Computational Formulas

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) s = sum{j}{}{y_j}
X Mean (first moment) nu_1 = 1/s sum{j}{}{y_j x_j}
2, 3, 4th Central moments mu_k = 1/s sum{j}{}{y_j (x_j − nu_1)^k}, ~ k = 2...4

MagicPlot uses the following formulas to calculate intervals statistics:

Property Formula
Integral Calculated using
Trapezoidal rule
X Mean (expected value) mu = nu_1
Variance sigma^2 = {n / {n − 1}} mu_2
Standard deviation sigma = sqrt{sigma^2}
Skewness gamma_1 = sqrt{n (n − 1)} / {n − 2} {mu_3} / {sigma^3}
Kurtosis gamma_2 = {n − 1} / {(n − 2)(n − 3)} ({(n + 1) {mu_4} / {sigma^4} − 3 (n − 1)})

See Also

Batch Processing

Batch Processing (Pro edition only)

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.

Video Tutorial

Here is short video tutorial about batch processing:


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:

  1. Create copies of Template Table and selected related components,
  2. Paste new data to the leftmost columns of the copy of Template Table,
  3. Recalculate all depending data in copies.

Batch processing technique

Fitting of series dialog will be opened after batch processing. This tool allows you to fit multiple data with the same model.


Batch Processing tool supports all MagicPlot data processing and visualization techniques:

These features are not supported by Batch Processing tool:

  • Changing the sequence of columns with imported source data (inserting columns left, deleting and moving these columns),
  • Table sorting and transposing.

Batch Processing Steps

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:

  1. Import the first text file from series (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.
    Create Fit Plot(s) and fit your data if you want to fit series.
  2. Run Batch Processing by selecting 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.
  3. In 3 tabs of Batch Processing dialog:
    1. Import Options: Check the file format settings.
    2. 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.
    3. 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.
  4. Click 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.
  5. The Fitting Series dialog will be opened if some Fit Plots were processed.

Fitting Series

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:

  1. The fit curves will be copied from the template plot (first in list) or from the (already fitted) previous plot depending on radio button selected (see more information below).
  2. The baseline will be fitted with curve (selected in drop box) and subtracted from the experimental data.
  3. The data will be fitted with selected curve or sum curve (selected in drop box).

Curves and Initial Values of Parameters: from the Template or from Previous Fit Plot?

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:

  • Select 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).
  • Select 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.

Automatic and Step by Step Modes

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.

Semi-Automatic Mode

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

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.

Reopening Fitting Series Dialog

You can open Fit Series dialog using Fit Series Summary → Open Fitting Series Dialog… in summary table.

Visual Data Navigation

Scale Scrolling for Data Navigation

MagicPlot provides useful plot data navigation (scale scrolling and zooming). Here are several tools and methods:

  • Mouse wheel rotation inside the current Axes box scrolls x/y or zooms x/y scale. Ctrl and Shift keys toggle the mode
  • Scale box zoom tool
  • Hand tool (only if the image zoom is 1x, otherwise the while image will be scrolled in window)
  • Right mouse button dragging always works as Hand tool (except Mac OS X)
  • The scrollbars (only if the image zoom is 1x, otherwise the while image will be scrolled in window)
  • Scale buttons on the toolbar.

Scale and tools buttons

Do not Confuse Scale Scrolling and Image Zoom

  • Scale scrolling affects the x/y scale minimum and maximum values. Use scale scrolling for data navigation
  • Image zoom enlarges the entire image (Pro edition only). Use image zoom for accurate drawing of small objects.

Current Axes

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.

Axes selection buttons

See Also

Reading Plot Data, Measuring Distances, Curves Selection

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.

Crosshair Cursor

MagicPlot can draw crosshair cursor. To turn it on use View → Crosshair Cursor menu item.

Crosshair cursor and its coordinates

Reading Plot Data

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)

Reading plot data

Curve Context Menu

Curve context menu on Figure

Use context menu of the Curve to open table with data or to open properties dialog.

Measuring Data Distances with Scale Zoom Tool

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).

Distance measurement

Selecting Curves in Turn Using Keyboard

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.

Curve 1 is selected Curve 2 is selected

See Also

Quick Plot Tool

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.

Quick Plot tool

When Quick Plot window is open select some columns in Table to view the plot.

Creating and Editing Figures

Creating a Figure

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.

Creating a Figure

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.

Adding data curve(s) to Figure

Color Map Plots (Pro edition only)

To create a Color Map Plot, open the Table with matrix data, open a context menu and select Create FigureColor Map item or use Create Figure button on the Toolbar. Color Map Plots are available in Pro edition only.

Selection in the table is ignored, the whole table is used for plotting matrix.

MagicPlot Student edition cannot create Color Map Plots but these plots can be edited in the Student edition if you open a project file which was created in the Pro edition.

Creating Color Map Plot

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.

Specifying X/Y Data for Color Map Plot

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:

  1. Manual range
  2. Values from first row or column
  3. Column from another table

The non-uniform (not equally spaced) data in the X/Y columns is supported. The values can also be unsorted.

Color Map Plots and other Curves

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.

Customizing Color Map Plot

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:

Customizing Color Map Palette

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:

  • Insert Before – inserts a new line before the current selection. The default color and data level values for the new line are calculated as the average of the values from the previous and the next lines.
  • Remove – removes selected lines from table.
  • Distribute Evenly – evenly distributes levels and colors in selected lines or in the whole table if less then 3 lines are selected.
  • Invert Sequence – inverts the sequence of colors; the new data levels are calculated as 1-L where L is the initial level value.

Color Map Palette Presets

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.

Get More Palette Presets

More palette presets can be found on this page: Additional Color Map Palettes

Creating Palette from Color List

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).

Pasting RGB(A) Values

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.

Pasting Hexadecimal Color Codes

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.

Technical notes

Exporting of a Vector Image

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.

Palette Colors Storage

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.

Color Interpolation

In the 'Smooth' and 'Manual Levels' color interpolation modes MagicPlot interpolates colors linearly in the sRGB color space.

Bicubic Image Interpolation

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.

See Also

Adding and Arranging Axes Boxes on a Figure

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.

Add Axes menu in Figure window

Add Axes menu in Figure properties window

'Add and Arrange Axes as Table' Dialog

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.

Arrange Axes as table dialog

Moving and Resizing of an Axes Box

Axes box can be moved and resized as any other drawn object on the Figure canvas

  1. Click on the Axes box border to select it. The green markers identifying your selection appear.
  2. Drag Axes box border to move the Axes box on Canvas.
  3. Draw border marker to resize Axes Box.

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.

Drawing Dimensions toolbar

See Also

Adding and Arranging Curves on Figure Axes

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:

  • Select x and y columns in table with data, open table context menu (right click) and select Add to Selected Axes sub-menu. All currently opened Figures are listed in this sub-menu.
  • Open 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.
  • Copy and paste Curve from Fit Plot or another Figure to your Figure.

You also can add Fit Curves or Fit Sum from Fit Plot to Figure.

Changing Curves Drawing Order

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.

Curves reordering in Figure properties dialog

See Also

Shifting Curves on Figure and Creating 2D Waterfall

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.

2D Waterfall 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 zero
  • Make 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.

Waterfall window

See Also

Using Figure Templates

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.

Figure Templates Tab

Saving Template from Figure

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).

Applying Template to a Figure

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).

See Also

Drawing and Editing

Axes Style Editing

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.

Figure Properties window

Drawing on Figures and Fit Plots, Image Zoom and Objects Selection

You can draw the following kinds of objects on Figures and Fit Plots (Pro edition only):

  • Text labels with formatting support
  • Lines
  • Arrows
  • Rectangles
  • Ellipses
  • Inserting images

Drawing buttons on the toolbar

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).

Image Zooming (Pro edition only)

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:

  • Scroll the mouse wheel at the image zoom slider
  • Ctrl+scroll (Cmd+scroll on Mac) mouse wheel at blank part of plot (outside all axes boxes)
  • The button 1x and Alt+click (Option+click on Mac) on plot fits the image to the window.

Image zoom slider and buttons

Do not Confuse Scale Scrolling and Image Zoom

  • Scale scrolling affects the x/y scale minimum and maximum values. Use scale scrolling for data navigation
  • Image zoom enlarges the entire image (Pro edition only). Use image zoom for accurate drawing of small objects.

Objects selection

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.

Moving an Object Forward or Backward

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).

Ellipse context menu

Changing Curves Order on Figure

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.

Snapping to Other Objects

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.

Snapping to other objects

See Also

Colours and Opacity Adjustment

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.

Color pop-up menu

See Also

Creating Transparent Figures and Fit Plots

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.

Transparent figure example

See Also

Using of Dimensions Toolbar

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

Drawing Dimensions toolbar shows the coordinates and size of currently selected object(s). You can also specify the coordinates or size of several components.

  • The x value is measured from the left edge of the canvas.
  • The y value is measured from the top edge of the canvas.
  • For rectangle or ellipse the specified coordinates determine the position of the upper-left corner.
  • For text label:
    • x determines the left edge, center or right edge of text according to text alignment of label.
    • y determines the baseline position of the first line.
  • For line or arrow the specified coordinates determine the position of the beginning.

Switching Curves Antialiasing on the Screen

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).

Text Labels Editing

Inserting Special Symbols and Greek Letters

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.

Typing Greek letters with Keyboard Shortcuts

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

Inserting Math Symbols with Keyboard Shortcuts

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.

Inserting Special Characters by Character Sequences

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 -/+

Unicode Code Point Finding out

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.

Code Point in status bar

See Also

Advanced Typography Features

MagicPlot provides accurate typography in text labels and axes labels. You may toggle some features in 'Typography' tab of MagicPlot Preferences.

Typography tab in MagicPlot Preferences window

Ligatures Support

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

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.

Mathematical Symbols in Axes Labels

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.

Minus Sign

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:

Plus and minus signs

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.

Multiplication Sign

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

See Also

Image Exporting and Copying

Image Export

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.

Raster Image Formats

The following lossless raster graphics formats are supported:

  • PNG — the most suitable format for Fit Plots and Figures
  • GIF — supports only 256 colours and no transparency, out-of-date format
  • BMP — uncompressed raster format (large file size)

Setting the resolution of exported raster image

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.

Why is MagicPlot not capable to export images in JPEG format?

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)

Vector Image Formats (Pro edition only)

The following vector graphics formats are supported:

  • SVG — most suitable for web publications
  • EMF — the most suitable format for inserting in Windows applications like Microsoft Office

Export in vector graphics formats by virtual printer

You also can use third-party virtual printer software to save an image in vector graphics format (use Project → Print menu item).

Image Format Restrictions

  • BMP:
    • Transparent background is not supported.
  • GIF:
    • Transparent background is supported but semi-transparency is not. Only 256 colours.
  • EMF and vector copy on Windows:
    • No semi-transparent colors (but transparent background is supported).
    • Image may be opened without antialiasing in some applications.
    • Text tracking changing is not supported
  • EPS:
    • Transparency is available only in Acrobat Distiller. Set Allow Pdfmark Transparency checkbox in EPS format options, add /AllowTransparency true into Acrobat Distiller's .joboptions file.
    • Transparent images inserted on plots will have solid color background.
  • Raster image copying:
    • Transparent background is not supported.

See Also

Preview Image

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).

Preview Features

In preview mode you can:

  • Preview in gray scale
  • Transparent images can be previewed on selected background color
  • Change the zoom of the image

Image Preview window

Preview Zoom Options

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 system
  • Fit to Window, Fit Width, Fit Height — fits the size of previewed image to window dimensions
  • Pixel-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.

Copying Images to Clipboard (Pro edition only)

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.

See Also


MagicPlot Calculator

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.

Heron's formula in MagicPlot Calculator

Using the Calculator

  • Type (12+4)*sin(pi/2) and press Enter to get the result
  • Type a=5 to set variable a to 5
  • Use Up/Down keys to recall previously entered expressions
  • Use ans (Ans) variable or press Ctrl+Up to insert the result of latest operation
  • Standard functions and variables (sin, cos, pi, e, etc.) are supported

MagicPlot Calculator uses the same formula syntax as other formula fields in MagicPlot application. Calculator supports comma (,) as decimal separator (1.2 = 1,2), so use semicolon (;) as function arguments separator: min(1;2). MagicPlot Calculator supports user-defined variables.

Standalone Calculator Application

MagicPlot Calculator can also be used as a free standalone cross-platform application. You can download it here

See Also


Portable Installation on USB drive

You can copy MagicPlot executable file to your portable USB drive and launch it on some other computer directly from this USB drive, without installation. To do this, you have to copy MagicPlot preferences file to the folder on USB drive which contains MagicPlot executable file. Here are step-by-step instructions:

  1. Create new folder on USB drive for MagicPlot
  2. Copy MagicPlot executable file to this folder
  3. Run MagicPlot
  4. Exit MagicPlot. It will automatically store preferences file magicplot.ini in MagicPlot folder in your operating system profile (see below)
  5. Copy magicplot.ini from MagicPlot folder in your operating system profile to the folder on USB drive which contains MagicPlot executable.
Where does MagicPlot save preferences in my operating system profile?
  • Windows XP: C:\Documents and Settings\<Your account>\Application Data\MagicPlot\
  • Windows Vista, 7, 8: C:\Users\<Your account>\AppData\Roaming\MagicPlot\
  • Mac OS X: <home>/Library/Application Support/MagicPlot
  • Unix-like systems: <home>/.magicplot.

MagicPlot Editions Comparison

The table below shows the comparison of MagicPlot Student and MagicPlot Pro editions.

MagicPlot Student MagicPlot Pro
Price Free of charge,
usage only
Get free trial
Multiple operating systems support (Windows, Mac OS X, Unix-like) + +
No installation procedure, portable installation is available + +
Multiple undo and redo for all actions + +
Import tables from text files (.csv, .txt), import dialog with preview + +
Built-in formula calculator tool + +
Entering expressions in every numeric text field + +
Setting column calculation formulas with syntax highlighting and formula history + +
Optional auto recalculation of column when data in use are changed +
Batch Processing without scripting and macros +
Nonlinear Curve Fitting
Using advantages of multi-core processors + +
Multi-peak fitting + +
Fitting with sum of different functions + +
Predefined Gauss and Lorentz functions and their derivatives + +
Visual peaks adjusting (fit initial conditions) + +
Visual fitting interval setting + +
Y data errors usage + +
Easy subtraction of baseline and peak fitting functions from experimental data + +
Copying and pasting Fit Curves from one Fit Plot to another + +
Automatic peaks finding +
Splines for baseline subtraction with fitting capability +
Specifying custom fit equations +
Data Processing
Numerical integration of peaks in spectrum on specified intervals + +
Smoothing, Integration, Differentiation, FFT, [De-]Convolution, Correlation, Histograms +
Descriptive Statistics +
Numerical spectrum moments (mean, variance, etc.) calculation on selected intervals +
Table Sorting by multiple columns, table transposing +
Plotting Features
Plotting capabilities: lines, markers, drop lines, vertical bars, filling under curve + +
Error bars + +
Color Map Plots (2D Plots) +
Switching curves antialiasing on screen + +
Fully customizable style for each axis (ticks, labels, grid, etc.) + +
Custom grid lines and labels at specified positions + +
Transparent images and translucent colors of every object + +
In-place text labels editing with formatting support + +
2D waterfall plots and setting individual shifts for curves + +
Drawing: text labels, lines, arrows, rectangles, ellipses + +
Image zooming in for precise drawing +
Multiple axes on one figure, aligning axes +
Saving and applying Figure templates +
Data Navigation and Exploration
Mouse cursor data coordinates in status bar + +
Showing data point and table row numbers for point under cursor + +
X and Y scrollbars for data navigation + +
Box zoom tool for scale + +
Hand drag tool for scale + +
Mouse wheel or touchpad scale scrolling and zooming + +
Quick Plot tool for viewing plot without adding new Figures to Project +
Figures Typography
Correct minus and multiplication signs (instead of hyphen and letter x) in exponential notation + +
English ligatures support (fi, etc.) + +
Tracking + +
Inserting special symbols (Greek letters, math symbols, dashes, etc.) + +
Image Export
Raster images export formats: PNG, GIF, BMP + +
Vector images export formats: EPS, PDF, SVG, EMF +
Copying of raster images to clipboard +
Copying of vector images to clipboard +
Usage and Support
Commercial usage +
E-mail support (write to support(at) +

MagicPlot Student can also be used to view project files created in full-featured MagicPlot Pro edition. In such case some project elements (e.g. Custom fit curve formulas) will not be editable.

Keyboard Shortcuts

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.

Mac Keyboard Symbols
  • ⌘ Command (Meta) key
  • ⇧ Shift key
  • ⌥ Option (Alt) key
  • ⌃ Control key

Common Shortcuts

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+I ⌘ I Import table from text file
Ctrl+P ⌘ P Print (image or table)
Ctrl+Shift+P ⌘ ⇧ P Preview image
Ctrl+E ⌘ E Export image
Ctrl+K ⌘ K Open calculator
Ctrl+U ⌘ U MagicPlot preferences
Ctrl+Q ⌘ Q Quit
Ctrl+Z ⌘ Z Undo
Ctrl+Shift+Z or Ctrl+Y ⌘ ⇧ Z or ⌘ Y Redo
Ctrl+H ⌘ H Show command history window
Ctrl+X ⌘ X Cut
Ctrl+C ⌘ C Copy
Ctrl+V ⌘ V Paste
Ctrl+A ⌘ A Select all

Table Shortcuts

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

Figure and Fit Plot Shortcuts

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
Corrected in MagicPlot 2.7: weights wi are not normalized anymore. In MagicPlot 2.5.1 and earlier the sum of weights was normalized to 1. This changing only affects the resulting Chi square value in the fit report if Y error column(s) are set.
If you use Opera browser with Opera Turbo option the images will appear recompressed in JPEG format and this comparison is void.
These shortcuts are activated in text label edit mode
Scrolling here means mouse wheel rotation or touchpad vertical scrolling or scrolling by other human interface device.
manual.txt · Last modified: Tue Jul 5 12:46:46 2016 by Alexander