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 [Sun Jan 10 20:26:17 2021]
Alexander
release:3.0 [Mon Feb 15 23:00:45 2021]
Alexander
Line 1: Line 1:
-====== Introducing MagicPlot 3.0 [NOT RELEASED YET] ======+====== Introducing MagicPlot 3.0 ======
  
-**This is a non-complete draft documentThe features described are subject to change.**+Released January 18, 2021.\\ 
 +[[:release_notes]]
  
-===== MagicPlot Pro and Student editions were merged into a single application =====+==== 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 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.
  
-===== 1New Interface =====+==== MagicPlot 2.x licenses ====
  
-MagicPlot 3.0 utilizes the new unified interface style on all supported operating systems. It is fully HiDPI/Retina display compatible.+  * 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: [[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]].
  
-===== 2Variables, Comments, Special Functions and Other Improvements in Formulas =====+===== 1New good-looking cross-platform interface =====
  
-==== 2.1. Setting variables in formulas ====+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. 
 + 
 +{{:release:new-interface.png?nolink|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. 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.
Line 19: Line 27:
 The variables can be used in Column Formula, Custom Fit Curve equation and in any other formula fields in MagicPlot. The variables can be used in Column Formula, Custom Fit Curve equation and in any other formula fields in MagicPlot.
  
-{{:release:variables.png?nolink|}}+{{:release:variables.png?nolink|Using variables in expressions}}
  
-=== Tip: Inserting Fit Equation to the Column Formula ===+=== 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 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):
  
-{{:release:report.png?nolink|}}+{{:release:report.png?nolink|Fit equation in Fit report tab}}
  
-==== 2.2. Comments in formulas ====+==== 2.2. Comments in expressions ====
  
 You can insert comments in any formula using ''/*...*/'' notation: You can insert comments in any formula using ''/*...*/'' notation:
  
-{{:release:formula_comments.png?nolink|}}+{{:release:formula_comments.png?nolink|Comments 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.+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, Beta, Gamma special functions added ====+==== 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.+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.
  
 ^ Bessel functions ^^ ^ Bessel functions ^^
Line 64: Line 72:
 | ''sec(x)'' | Secant of an angle measured in radians, sec(x) = 1/cos(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) | | ''ctg(x)'' | Cotangent of an angle measured in radians, ctg(x) = 1/tan(x) |
-Boolean operation ^^+Other ^^
 | ''xor(a, b)'' | Logical exclusive-OR operation | | ''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]]) |
  
 ==== 2.5. Improvements in Boolean operations ==== ==== 2.5. Improvements in Boolean operations ====
  
-=== Standard Boolean Logic: true is != 0 instead of > 0 ===+=== 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.+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.
  
-=== Negation Operator (!) and Exclusive or Operator Added ===+^ 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. |
  
-We have added negation operator with well-known syntax ''!'' to the expression syntax. Example: ''if (!($A > 0), $A, $B)''. 
  
-''xor(a, b)'' returns the boolean exclusive or operation result for operands.+=== Negation operator (!and exclusive or operator added ===
  
-==== 2.6. Undo/Redo in Formula Editor ====+  * 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. 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 =====+===== 3. Improvements in Tables: $A notation, formula for multiple columns and more =====
  
 ==== 3.1. Simplified column formula notation: '$A' instead of 'col(A)' ==== ==== 3.1. Simplified column formula notation: '$A' instead of 'col(A)' ====
Line 92: Line 106:
 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)''. 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)''.
  
-{{:release:columns_in_formula.png?nolink|}}+{{:release:columns_in_formula.png?nolink|New column formula syntax: $A}}
  
-==== 3.2. Setting a common Formula for Multiple Columns ====+==== 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. 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 ====+==== 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. 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 ====+==== 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 tens or hundreds of thousands of columns.+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. Improved Fit Results Management =====+===== 4. Fit results management: Adding curves to table, no 'Data-Baseline' column =====
  
-==== 4.1. 'Data-Baseline' column is not automatically created ====+==== 4.1. Adding fit sum and fit curve column to the table ====
  
-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 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.+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, BaselineY with baseline corrected, Residual:
  
-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.+{{:release:add-fit-result-to-table.png?nolink|Adding fit result to table}}
  
-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:+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:y-minus-baseline-adding.png?nolink|}}+{{:release:add-curve-to-table.png?nolink|Adding fit curve to table}}
  
-==== 4.2. Adding Fit Sum and Fit Curve Column to the Table ====+The new columns are added to the Table where Y column of the Fit Plot data is located:
  
-You can now add a column with Fit Sum or other alternatives to the Table which contains Fit Plot data using ''Fit Report'' tabThe alternatives are: Fit Sum, Baseline, Y with baseline corrected, Residual:+{{:release:table-with-curves.png?nolink|Table with fit curves}}
  
-{{:release:add-fit-result-to-table.png?nolink|}}+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.
  
-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:+==== 4.2. 'Data-Baseline' column is not automatically created ====
  
-{{:release:add-curve-to-table.png?nolink|}}+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 new columns are added to the Table where Y column of the Fit Plot data is located:+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.
  
-{{:release:table-with-curves.png?nolink|}}+The analog of the 'Data-Baseline' column can be created in MagicPlot 3.0 using the 'Fit Report' tab of a Fit Plot. Choose ''with baseline corrected'' in the drop-down list and click ''Add to Table'' button:
  
-The created columns have links to the Fit PlotThe Auto Recalculation is on by default for the created columns and can be switched off.+{{:release:y-minus-baseline-adding.png?nolink|}} 
 + 
 +===== 6Miscellaneous improvements =====
  
-===== 5. 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 ====
  
-===== 6. Other Minor Improvements =====+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''.   * 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''.   * 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: [Plots] Add vertical and horizontal dash line as markers 
   *  0000584: [Other] Java 6 inspired bug: round(0.49999999999999994) = 1    *  0000584: [Other] Java 6 inspired bug: round(0.49999999999999994) = 1 
   *  Bugs Fixed   *  Bugs Fixed
 +
 +See also: [[: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 full 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 ===== ===== 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 172: Line 201:
   * Quick plot tool   * Quick plot tool
  
-===== Appendix 2: Java Runtime Requirement =====+===== Appendix 2: System requirements  =====
  
-For running MagicPlot 3.0 on Linux-like OS the minimum version of Java Runtime is 11.0.+  * 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.txt · Last modified: Mon Feb 15 23:00:45 2021 by Alexander