# MagicPlot Manual

Plotting and nonlinear fitting software

release:2.10

# Introducing MagicPlot 2.10 [NOT RELEASED YET]

To be released in late 2020.
This is a non-complete draft document. The features described are subject to change.

## Setting Variables in Formulas

In MagicPlot 2.10 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.

### 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):

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

Use `Ctrl+/` / `Cmd-/` keyboard shortcut to comment selection. Comments can be multi-line. Note that the single line comments using a symbol at the line start (like `//` or `%`) are not supported because line breaks are not taken into account in MagicPlot formula syntax.

## Simplified Column Formula Notation: \$A for 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)`.

## Setting a 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.

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

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

## 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 tens or hundreds of thousands of columns.

## No more 'Data-Baseline' Column

Staring MagicPlot 2.10 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 but it has proved to be mostly annoying.

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

Now you can manually create the 'Data-Baseline' column among with other fit result columns using the Fit Report tab of a Fit Plot, choose `Y with baseline corrected` and click on `Add to Table` button:

## 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:

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:

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

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.

## Changes in Keyboard Shortcuts

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

## Descriptive Statistics on Rows

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

## Other Minor Enhancements

• 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

## Bugs Fixed

• 0000561: [Plots] Canvas raster buffer size is not updated properly when changing the screen scale
• 0000584: [Other] Java 6 inspired bug: round(0.49999999999999994) = 1
• 0000554: [Other] Incorrect braces highlighting in formulas with line breaks after paste on Windows
• 0000576: [Other] When copying color map plotable to another project with (table copy) the links to index columns are incorrect
• 0000484: [Drawing] Drawings are not snapped to canvas borders and center
• 0000570: [Other] In project tree inside Figure properties dialog moving Axes boxes and curves leads to creating a copy instead of moving
• 0000571: [Other] Drop target in Project tree with axes boxes and curves visible can be incorrect if only part of children is visible in the tree
• 0000568: [Other] The title of Export menu item in Project menu is not updated according to selected in project tree or active window
• 0000552: [Other] If Project Tree is not focused, it will not get focus when opening context menu on right click.
• 0000530: [Other] Pasting a fit curve from another project comes with pasting data table from original fit plot
• 0000527: [Plots] Color map with manually set inverted range and axis scale from bigger to lower is drown as non-inverted
• 0000564: [Other] When pasting to multiple selected locations, dependent components must be copied only once
• 0000563: [Other] Draw instrument is not preserved when switching internal windows
• 0000562: [Other] Corrupted Fit Plot structure is pasted between the projects if canvas (Figure of Fit Plot) or curves table is focused
• 0000443: [Other] Annoying restoring of open windows after closing one of them maximized
• 0000534: [Table] Inspector toolbar update and table scroll is slow when adding 1000 rows to 10000 column table
• 0000464: [Other] Slow performance of Combo Box columns selector for big column count (10000)
• 0000526: [Other] Error in undo table creation after formula editing
• 0000508: [Other] Quick plot is not updated after column recalculation
• 0000521: [Other] Annoying selection in Project Tree when closing non-active window
• 0000522: [Plots] The legend background box does not account multi line text (regression)
• 0000402: [Other] Cannot put fit curve to the end of fit curves list in some circumstances
• 0000385: [Table] Constants A, B,… are not properly converted without col() if appropriate column is deleted