MagicPlot Manual

Plotting and nonlinear fitting software

User Tools

Site Tools


release:3.0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
release:3.0 [Thu Dec 17 01:11:23 2020]
Alexander
release:3.0 [Mon Feb 15 23:00:45 2021] (current)
Alexander
Line 1: Line 1:
-====== Introducing MagicPlot 3.0 [NOT RELEASED YET] ======+====== Introducing MagicPlot 3.0 ======
  
-To be released in late 2020. \\ +Released January 18, 2021.\\ 
-**This is a non-complete draft document. The features described are subject to change.**+[[:release_notes]]
  
-===== MagicPlot Student Edition is Discontinued =====+==== MagicPlot Pro and Student editions were merged into a single application ====
  
-MagicPlot 3.0 is a single release, 'Pro' and 'Student' editions are discontinued. 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 and this limited-features application may be used for non-commercial purposes as the 'Student' edition of the previous versions.+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.
  
-===== Setting Variables in Formulas =====+==== MagicPlot 2.x licenses ====
  
-In MagicPlot 3.0 you can set variables in formulaswrite an assignment and a semicolon to separate it from the next part of the formulafor example: ''a=5; a*a + 2*a + 1''The last expression (after the last semicolonis the result of the formula and cannot contain an assignment. MagicPlot highlights all usages of the variable at cursor in the edited formula.+  * All MagicPlot Pro 2.x perpetual and annual licenses purchased after 01.01.2020 are valid for MagicPlot 3.0. You can update for freejust download and run the new versionthere is no need to re-enter the license key. 
 +  MagicPlot Pro 2.x licenses purchased before 01.01.2020: [[https://magicplot.com/contacts.php|Contact us]] to get 50% discount for MagicPlot 3.0 (except the discounted Student annual license). You can continue using MagicPlot Pro 2.9.3, it can be downloaded [[:legacy_releases|here]].
  
-The variables can be used in Column Formula, Custom Fit Curve equation and in any other formula fields in MagicPlot.+===== 1New good-looking cross-platform interface =====
  
-{{:release:variables.png?nolink|}}+MagicPlot 3.0 utilizes the new unified interface style [[https://www.formdev.com/flatlaf/|FlatLaf]] on all supported operating systems. It is fully HiDPI/Retina display compatible.
  
-==== TipInserting Fit Equation to the Column Formula ====+{{:release:new-interface.png?nolink|MagicPlot 3.0 new interface}}
  
-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):+===== 2. New in expressionsVariables, comments, special functions and more =====
  
-{{:release:report.png?nolink|}}+==== 2.1. Setting variables in expressions ====
  
-===== Comments in Formulas =====+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.
  
-You can insert comments in any formula using ''/*...*/'' notation:+The variables can be used in Column Formula, Custom Fit Curve equation and in any other formula fields in MagicPlot.
  
-{{:release:formula_comments.png?nolink|}}+{{:release:variables.png?nolink|Using variables in expressions}}
  
-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.+=== Tip: Inserting fit equation to the column formula ===
  
-===== Simplified Column Formula Notation: $A for col(A=====+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):
  
-We have simplified Column Formula syntaxcolumn and cell values can be inserted using ''$A'' and ''$A$1'' instead of ''col(A)'' and ''cell(A, 1)''. The old notation also works.+{{:release:report.png?nolink|Fit equation in Fit report tab}}
  
-The new notation only works with constant column/cell indexesUse ''col'' and ''cell'' functions if you need to vary the index, ex. ''col(i)'' and ''cell(i-1, j+1)''.+==== 2.2Comments in expressions ====
  
-{{:release:columns_in_formula.png?nolink|}}+You can insert comments in any formula using ''/*...*/'' notation:
  
-===== Setting a Formula for Multiple Columns =====+{{:release:formula_comments.png?nolink|Comments in expressions}}
  
-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.+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.
  
-===== Calculation in Reverse Row Order =====+==== 2.3. Bessel, Erf, Gamma, Beta special functions added ====
  
-You can swap ''from'' and ''to'' row indexes to reverse the calculation orderThis can be useful if the cell formula contains the value of the previously calculated cell in the same column.+The special functions listed below are now available in formulas. MagicPlot special function implementation is based on the well-known [[https://en.wikipedia.org/wiki/Colt_(libraries)|Colt 1.2]] scientific open-source library.
  
-===== Undo/Redo in Formula Editor =====+^ 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] |
  
-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.+==== 2.4. Miscellaneous functions added ====
  
-===== Optimized Table Scrolling and Redrawing =====+^ 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 [[:NaN|manual topic]]) |
  
-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.+==== 2.5. Improvements in Boolean operations ====
  
-===== Special Functions in Formulas =====+=== The Boolean meaning of numbers in C language style ===
  
-The special functions listed below are now available in formulas:+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.
  
-  * besselj(nx) +^ App version ^ The result of ''if(conditionif_trueif_false)'' ^ 
-  * bessely(nx+| MagicPlot 3.and later | If ''condition != 0'' returns ''if_true'' value. Returns ''if_false'' value otherwize. | 
-  * besseli(n, x), n = 0, 1 +| MagicPlot 2.9.3 and earlier | If ''condition > 0'' returns ''if_true'' value. Returns ''if_false'' value otherwize. |
-  * besselie(n, x), n = 0, 1 +
-  * besselk(n, x) +
-  * besselke(n, x), n = 0, 1+
  
-  * erf(x) 
-  * erfc(x) 
  
-  * gamma(x) +=== Negation operator (!and exclusive or operator added ===
-  * gammainc(a, x) +
-  * gammaincc(a, x) +
-  * gammaln(x)+
  
-  * beta(ab+  * New negation operator example: ''f = $A > 0; if (!f$A, $B)'' 
-  * betainc(x, a, b)+  * ''xor(a, b)'' returns the Boolean exclusive or operation result for operands.
  
-MagicPlot uses Colt library for special function implementationSome boundary and asymptotic values were corrected after the Colt library results.+==== 2.6Undo/Redo in formula editor ====
  
-===== Improvements in Boolean Operations =====+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.
  
-==== Standard Boolean Logic: true is != 0 instead of > 0 ==== 
  
-MagicPlot uses ordinary floating-point numbers to store boolean ''true/false'' valuesAll 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.+===== 3Improvements in Tables: $A notation, formula for multiple columns and more =====
  
-==== Negation Operator (!Added ====+==== 3.1. Simplified column formula notation: '$A' instead of 'col(A)====
  
-We have added negation operator with well-known syntax ''!'' to the expression syntax. Example: ''if (!($A > 0), $A, $B)''.+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.
  
-==== Exclusive or Operator Added ====+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)''.
  
-''xor(a, b)'' returns the boolean exclusive or operation result for operands.+{{:release:columns_in_formula.png?nolink|New column formula syntax: $A}}
  
-===== No more 'Data-Baseline' Column =====+==== 3.2. Setting a common formula for multiple columns ====
  
-Staring MagicPlot 3.0 The 'Data-Baseline' column is no more added to the Table when creating a Fit Plot. The 'Data-Baselinecolumn 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 same formula can be set for multiple selected columnsYou can use this feature to compute matrices. The ''i'' and ''j'' variables are the current row and column indexes.
  
-The 'Data-Baseline' auto-recalculated columns will be preserved when opening old projects in MagicPlot 3.0 for backward compatibility. You can delete these columns manually.+==== 3.3Calculation in reverse row order ====
  
-Now you can manually create the 'Data-Baselinecolumn 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:+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.
  
-{{:release:y-minus-baseline-adding.png?nolink|}}+==== 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 managementAdding curves to table, no 'Data-Baseline' column =====
  
-====Adding Fit Sum and Fit Curve Column to the Table =====+==== 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: 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:
  
-{{:release:add-fit-result-to-table.png?nolink|}}+{{:release:add-fit-result-to-table.png?nolink|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: 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:
  
-{{:release:add-curve-to-table.png?nolink|}}+{{:release:add-curve-to-table.png?nolink|Adding fit curve to table}}
  
 The new columns are added to the Table where Y column of the Fit Plot data is located: The new columns are added to the Table where Y column of the Fit Plot data is located:
  
-{{:release:table-with-curves.png?nolink|}}+{{:release:table-with-curves.png?nolink|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. 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 =====+==== 4.2. 'Data-Baseline' column is not automatically created ====
  
-  * The keyboard shortcut for Undo History was changed to ''Ctrl+Shift+H'' / ''Shift-Cmd-H''. +Staring MagicPlot 3.0 The 'Data-Baselinecolumn is no more added to the Table when creating a Fit Plot. The 'Data-Baselinecolumn 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. 
-  * A new shortcut for creating a Folder was added: ''Ctrl+Shift+N'' ''Shift-Cmd-N''.+ 
 +The 'Data-Baselineauto-recalculated columns in old projects will be preserved when opening in MagicPlot 3.for backward compatibility. In MagicPlot 3.0 you can delete these columns manually. 
 + 
 +The analog of the 'Data-Baselinecolumn can be created in MagicPlot 3.0 using the 'Fit Reporttab of a Fit Plot. Choose ''Y with baseline corrected'' in the drop-down list and click ''Add to Table'' button: 
 + 
 +{{:release:y-minus-baseline-adding.png?nolink|}} 
 + 
 +===== 6Miscellaneous improvements =====
  
-====Descriptive Statistics on Rows =====+==== 6.1. Descriptive statistics on rows ====
  
 The statistics on table rows can now be calculated using Descriptive Statistics dialog. The Columns/Rows switch was added: The statistics on table rows can now be calculated using Descriptive Statistics dialog. The Columns/Rows switch was added:
  
-{{:release:row-statistics.png?nolink|}}+{{:release:row-statistics.png?nolink|Statistics toolbar}}
  
 +==== 6.2. Vertical and horizontal dash markers ====
  
-====Other Minor Enhancements =====+New marker types were added: vertical and horizontal dash. 
 + 
 +{{:release:markers.png?nolink|Marker types}} 
 + 
 +==== 6.3. 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    *  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    *  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   *  0000565: [Plots] Allow zero values for 1) Width of caps of error bars 2) Marker edge width 3) Marker size
-  *  0000599: [PlotsAdd vertical and horizontal dash line as markers +  *  0000584: [OtherJava 6 inspired bug: round(0.49999999999999994) = 1  
 +  *  Bugs Fixed 
 + 
 +See also: [[:release_notes]] 
 + 
 +===== Known issues =====
  
-===== Bugs Fixed =====+  * [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 full screen.
  
-  *  0000561: [PlotsCanvas raster buffer size is not updated properly when changing the screen scale +  * [macosFor 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.
-  *  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: [OtherWhen 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 +
  
-===== Appendix: Features available in licensed version only =====+===== Appendix 1: Features available in licensed version only =====
  
-The features listed below are available in MagicPlot after entering the license key and during the 30-days trial period.+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   * Custom fit equations
Line 181: Line 200:
   * Waterfall plots   * Waterfall plots
   * Quick plot tool   * 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.
  
release/3.0.1608156683.txt.gz · Last modified: Thu Dec 17 01:11:23 2020 by Alexander