Introducing MagicPlot 3.0

Released January 18, 2021.

MagicPlot Pro and Student editions were merged into a single application

MagicPlot 3.0 provides the full-functional 30-days trial period without entering a license key. Some features will be disabled at the end of the trial period if the license key is not entered. This limited-features application may be used for non-commercial purposes as the 'Student' edition of the previous versions.

MagicPlot 2.x licenses

All MagicPlot Pro 2.x perpetual and annual licenses purchased after 01.01.2020 are valid for MagicPlot 3.0. You can update for free: just download and run the new version, there is no need to re-enter the license key.

MagicPlot Pro 2.x licenses purchased before 01.01.2020: Contact us to get 50% discount for MagicPlot 3.0. You can continue using MagicPlot Pro 2.9.3, it can be downloaded here.

1. New good-looking cross-platform interface

MagicPlot 3.0 utilizes the new unified interface style on all supported operating systems. It is fully HiDPI/Retina display compatible.

MagicPlot 3.0 new interface

2. New in expressions: Variables, comments, special functions and more

2.1. Setting variables in expressions

In MagicPlot 3.0 you can set variables in formulas: write an assignment and a semicolon to separate it from the next part of the formula, for example: a=5; a*a + 2*a + 1. The last expression (after the last semicolon) is the result of the formula and cannot contain an assignment. MagicPlot highlights all usages of the variable at cursor in the edited formula.

The variables can be used in Column Formula, Custom Fit Curve equation and in any other formula fields in MagicPlot.

Using variables in expressions

Tip: Inserting fit equation to the column formula

You can copy the fit equation with variables from the Report tab of a Fit Plot and paste it in any formula field including Column Formula (but it is generally better to use new Add to Table feature which generates a link instead of copying formula, see below):

Fit equation in Fit report tab

2.2. Comments in expressions

You can insert comments in any formula using /*...*/ notation:

Comments in expressions

Press Ctrl+/ on Windows/Linux or Cmd-/ on Mac OS to comment selection. Comments can be multi-line. Note that the single line comments using a symbol at the line start are not supported because line breaks are not taken into account in MagicPlot formula syntax.

2.3. Bessel, Erf, Gamma, Beta special functions added

The special functions listed below are now available in formulas. MagicPlot special function implementation is based on the well-known Colt 1.2 scientific open-source library.

Bessel functions
besselj(n, x)	Bessel function of the first kind of integer order n
bessely(n, x)	Bessel function of the second kind of integer order n
besseli(n, x)	Modified Bessel function of the first kind of order n = 0, 1
besselie(n, x)	Exponentially scaled modified Bessel function of the first kind of order n = 0, 1
besselk(n, x)	Modified Bessel function of the second kind of integer order n
besselke(n, x)	Exponentially scaled modified Bessel function of the second kind of order n = 0, 1
Error function
erf(x)	Error function
erfc(x)	Complementary error function, 1 - erf(x)
Gamma function
gamma(x)	Gamma function
gammainc(a, x)	Regularized lower incomplete gamma function. x — the integration end point, a — the parameter of the gamma distribution
gammaincc(a, x)	Regularized upper incomplete gamma function. x — the integration start point, a — the parameter of the gamma distribution
gammaln(x)	Logarithm of the absolute value of the gamma function
Beta function
beta(a, b)	Beta function. The values of a and b must be nonnegative
betainc(x, a, b)	Incomplete beta function. a, b — parameters of the beta function, must be nonnegative, x — the integration end point, must be in the closed interval [0, 1]

2.4. Miscellaneous functions added

Reciprocal trigonometric functions
csc(x)	Cosecant of an angle measured in radians, csc(x) = 1/sin(x)
sec(x)	Secant of an angle measured in radians, sec(x) = 1/cos(x)
ctg(x)	Cotangent of an angle measured in radians, ctg(x) = 1/tan(x)
Other
xor(a, b)	Logical exclusive-OR operation
rem(x, y)	Computes the remainder of the division operation x/y, same as x % y. Added for compatibility
isNaN(x)	Checks if x is NaN (Not a Number) or empty cell (see manual topic)

2.5. Improvements in Boolean operations

The Boolean meaning of numbers in C language style

MagicPlot uses ordinary floating-point numbers to store Boolean true/false values. All Boolean operators and functions return 1 for true and 0 for false. However the if() function can accept any number as a condition, not 1 and 0 only. In the old MagicPlot 2.x versions the condition value is interpreted as false if the value is less or equal to zero. In MagicPlot 3.0 only zero value is interpreted as false. This change was made to synchronize specification with C-like languages. The change will only be notable if you manually used some calculated numbers as Boolean condition in a non-standard way.

App version	The result of if(condition, if_true, if_false)
MagicPlot 3.0 and later	If condition != 0 returns if_true value. Returns if_false value otherwize.
MagicPlot 2.9.3 and earlier	If condition > 0 returns if_true value. Returns if_false value otherwize.

Negation operator (!) and exclusive or operator added

New negation operator example: f = $A > 0; if (!f, $A, $B).

xor(a, b) returns the Boolean exclusive or operation result for operands.

2.6. Undo/Redo in Formula Editor

MagicPlot now supports Undo and Redo in formula editor using Ctrl+Z / Cmd-Z (Undo) and Ctrl+Shift+Z / Cmd-Shift-Z or Ctrl+Y / Cmd-Y (Redo) shortcuts.

3. Improvements in Tables: $A notation, formula for multiple columns and more

3.1. Simplified column formula notation: '$A' instead of 'col(A)'

We have simplified Column Formula syntax: column and cell values can be inserted using $A and $A$1 instead of col(A) and cell(A, 1). The old notation also works.

The new notation only works with constant column/cell indexes. Use col and cell functions if you need to vary the index, ex. col(i) and cell(i-1, j+1).

New column formula syntax: $A

3.2. Setting a common Formula for Multiple Columns

The same formula can be set for multiple selected columns. You can use this feature to compute matrices. The i and j variables are the current row and column indexes.

3.3. Calculation in Reverse Row Order

You can swap from and to row indexes to reverse the calculation order. This can be useful if the cell formula contains the value of the previously calculated cell in the same column.

3.4. Optimized Table Scrolling and Redrawing

We have optimized the program code of the redrawing of the Table to eliminate lags when scrolling and editing a Table with hundreds of thousands of columns.

4. Fit Results Management: Adding curves to table, no 'Data-Baseline' column

4.1. Adding Fit Sum and Fit Curve Column to the Table

You can now add a column with Fit Sum or other alternatives to the Table which contains Fit Plot data using Fit Report tab. The alternatives are: Fit Sum, Baseline, Y with baseline corrected, Residual:

Adding fit result to table

Column(s) from the selected curve(s) (including Fit Sum) can be added to the Table using the context menu of the Curve itself in the plot area or in the curves list or from the context menu of the legend symbol:

Adding fit curve to table

The new columns are added to the Table where Y column of the Fit Plot data is located:

Table with fit curves

The created columns have links to the Fit Plot. The Auto Recalculation is on by default for the created columns and can be switched off.

4.2. 'Data-Baseline' column is not automatically created

Staring MagicPlot 3.0 The 'Data-Baseline' column is no more added to the Table when creating a Fit Plot. The 'Data-Baseline' column contained the Y values from the Fit Plot with the baseline curves subtracted -- the Y values that are actually plotted. This feature was introduced in the early MagicPlot version and it has proved to be rarely used.

The 'Data-Baseline' auto-recalculated columns in old projects will be preserved when opening in MagicPlot 3.0 for backward compatibility. In MagicPlot 3.0 you can delete these columns manually.

The analog of the 'Data-Baseline' column can be created in MagicPlot 3.0 using the 'Fit Report' tab of a Fit Plot. Choose Y with baseline corrected in the drop-down list and click Add to Table button:

6. Miscellaneous Improvements

Descriptive Statistics on Rows

The statistics on table rows can now be calculated using Descriptive Statistics dialog. The Columns/Rows switch was added:

Statistics toolbar

Vertical and horizontal dash markers

New marker types were added: vertical and horizontal dash.

Marker types

Other Changes

The keyboard shortcut for Undo History was changed to Ctrl+Shift+H / Shift-Cmd-H.

A new shortcut for creating a Folder was added: Ctrl+Shift+N / Shift-Cmd-N.

The calculator (menu 'Tools') now uses the default formula syntax and does not support comma as decimal separator.

0000567: [Other] Adding table curve to multiple selected figures when copy-pasting table

0000256: [Processing] Add empty cell (NaN) check function in column formula syntax

0000565: [Plots] Allow zero values for 1) Width of caps of error bars 2) Marker edge width 3) Marker size

0000599: [Plots] Add vertical and horizontal dash line as markers

0000584: [Other] Java 6 inspired bug: round(0.49999999999999994) = 1

Bugs Fixed

See also: Full release notes

Known Issues

[macos] On MacOS 11 Big Sur if the MagicPlot window is switched to full screen any dialog window (properties dialog) open full screen and the program interface freezes. Caused by OpenJDK bug: https://bugs.openjdk.java.net/browse/JDK-8256465
Current workaround:
1. In MacOS Preferences -> General -> “Prefer tabs” set to “in full screen”.
2. Do not open MagicPlot window in fill screen.

[macos] For some fonts sub/superscript text is rendered with incorrect spacing between characters. Caused by OpenJDK bug: https://bugs.openjdk.java.net/browse/JDK-8227828
No fix currently available. The issue does not affect vector export.

Appendix 1: Features available in licensed version only

The features listed below are available in MagicPlot after entering the license key only and will be disabled after the 30-days trial period.

Custom fit equations

Fit parameters joining

Guessing peaks

Adding fit curves to the table

Batch processing

Data processing (smoothing, FFT, etc.)

Table transposing and sorting

Color map plots

Vector image export, copying vector/raster image, printing

Drawing on plots, dimensions tool

Multiple axes boxes on figures

Figure style templates applying

Waterfall plots

Quick plot tool

Appendix 2: System requirements

Windows 8.1 or later

MacOS 10.10 or later

Linux-like systems: MagicPlot is distributed as a .jar file which needs Java Runtime JRE 11 or later manually installed.