Data Handling
Set Column Values / Cell Formula
JIRA | SUMMARY | DETAILS |
---|---|---|
Excel like Formula bar |
| |
Improved Sample Formula | See updated sample formulas under Formula: Load Samples menu of Set Column Values dialog |
Data Connector
JIRA | SUMMARY | DETAILS |
---|---|---|
Better support of *.dat file with CSV Connector | Drag and drop *.dat file will use CSV Connector if no Import filter is checked for Drag and drop | |
Matlab DC supports opaque variable like date time in v6/v7 version files | import opaque type variables: Date, Time, Duration, Table, etc. | |
new TDMS Connector | can contact us to get the app to try import NI TDMS file using connector app | |
import Bruker DQL/RAW files | Add DIFFRAC Connector app to import Bruker DQL/RAW files | |
Data; Connect Multiple Files improvement | Menu Data: Connect Multiple Files… adds a Source drop-down list that allows Specified Files or all Files in Specified Folder. | |
Re-import Web DC should re-download the data |
| |
Move Legacy Import menu to bottom | Push the "Import from File..." menu item to be after the DC menu items under Data menu. | |
MATLAB connector supports Tables | MATLAB Connector supports importing tables from .mat files. | |
CSV Connector allows Append Rows | Set | |
DC Connected Sheet remembers customized sheet name | Added LT access User-Sheet-Name property This applies only to those connectors that are using the Tree framework, so besides Matlab, it will affect JSON, netCDF, etc. | |
Clone Import for Data Connector | Support Clone Import for Data Connectors. |
Graphing
Colors
JIRA | SUMMARY | DETAILS |
---|---|---|
New Color Manager | Tools: Color Manager… (hotkey Ctrl+Shift+O) to manage color lists and palettes
| |
Drag and drop Palette files into Origin to install them | The installed palette will be accessible from Palette dropdown list.
Following palette files are supported.
| |
Image Plot Can't Set Color Beyond Min/Max | Make image plot from random data in matrix. Implemented in Origin2021. | |
More obvious way to define custom colors | In custom color pop up add a plus mark in the cell which can add custom color | |
Color Scale Mini Toolbar Issues Reported by Beta Tester |
| |
Improve color list popup GUI | Change color list and palette list popup to be dynamic. |
General
JIRA | SUMMARY | DETAILS |
---|---|---|
Browser Graph Improvements |
Plot: Browser: Stack… to plot stacked graph in Browser graph | |
Graph Export should automatically save a theme in page | When user exports a graph, the settings should be remembered in the graph itself, so next time, they should be able to pick as a theme to refill the dialog. | |
More display format for scientific notation 1x10^3 | It applies to axis tick labels, bubble scale label, and color scale labels. | |
Zero tick label display options default changes on Axis tab of Preference: Options dialog | To show trailing zeros in axis tick labels by default, No Trailing Zero and Zero is ‘0' checkbox are default unchecked in Preference: Options dialog. | |
Support Mask tool for 3D OpenGL graph | The masking tool is now available for 3D OpenGL graphs. Masks data on source worksheet and points are masked on graph. | |
Offset Overlapped Points Vertically | For overlapped points, we used to support arrange horizontally only. | |
Page level mini toolbar improvements |
| |
Mini Toolbar for multi-layer/object selection |
| |
Support dragging Layer/Object in Line when holding SHIFT key | Support Shift key+Mouse to move vertically or horizontally only for Graph Layer/Object | |
Strip Format Codes from Object Manager Plot Listings | ||
Batch Plotting support inexact matched data | When Batch Plot with = Book/Sheet, a Exact checkbox is shown after Batch Plot with option.
| |
Undo when using CTRL+W to switch to Column List View | User accidentally hits CTRL+W switching to Column List View. He thinks he deleted data and tries to hit CTRL+Z to undo which used to do nothing. Now it switches back out of Column List View | |
Support color-blind safe color-matched code braces in more places | Locations for color brace matching: Formula Bar | |
Changed default plot mask mode | When using the masking tool on a plot, the default way points are masked has changed. See below: | |
Keyword for Beginning and Ending Plot Special Point and Labels | The Beginning and ending special point on a plot may be named Also the data label “specified Index” setting supports | |
Independent Control of Head and Tail of Color Scale | Color scale head and tail can now be configured independently. | |
Support Rescale type for Ternary Coordinates | Scale for Ternary Diagrams can now be controlled by a Type. For example: | |
Scatter Matrix plot: Set histogram binning on each layer independently | ||
Scatter matrix should show axis of scatter Plots | Currently in Scatter Matrix the axis of the upper-left layer is set to be axis of Histogram. But in fact, we should show axis of the scatters plots, which is the second layer. | |
Group Plot in Object Manager should keep plot properties | In Object Manager, when user set group by Set as Group Begin/End, we could generate increment list for each properties like switch edit mode from independent to dependent:
| |
Merge Graph Windows Rename context menu ... as Graph Browser... | In Merge Graph windows dialog, the | |
Tick Labels of Polar Plot support Radial rotation | Add Radial option in axis dialog tick label tab’s Rotate for Polar graph. | |
More output parameters for Bland-Altman plot | The following quantities are introduced in the Bland-Altman plot:
|
Graph Types
JIRA | SUMMARY | DETAILS |
---|---|---|
Unicode Symbol for scatter plot | Enter Unicode for symbol in Plot Details dialog | |
Lollipop Plot |
| |
Browser Graph -> Stack |
| |
Flip through sets of plots |
| |
Specialized - > Compass Plot, Polar Vector | vector plot in polar coordinates Plot: Specialized: Polar vector, Compass Plot. | |
Layer Background Image to be behind layer background |
| |
Chord Diagram | Plot: Categorical: Chord Diagram, Chord Diagram with Ratio Layout after Alluvial, in Plot menu: Categorical tab. | |
Improvements on Row-wise Plot |
| |
Sankey Node Order follow Data Order | We add Order by Data checkbox in Node tab, put it in Position group, on the right of alignment option. Select it should just use node order in data to decide node order. | |
Easier layer reordering for Double-Y graph | In older vserions layer reordering usually broke the linking but starting with 2021, the layers in a Double-Y graph can be reordered without breaking linking. |
Text Labels & Legends
JIRA | SUMMARY | DETAILS |
---|---|---|
Improvement mini toolbar for legend and related and tables on graph |
Table on graph (e.g. fitting table) | |
Applying Formatting to button for data label mini toolbar | Support Apply Formatting to This Layer/Window for data label | |
Support Different Label Source for Each Plot of Grouped 3D plot | Implemented in Origin 2021. | |
Tick Label Alignment support | ||
Mini toolbar for Tick Label Table on Graph | ||
Mini toolbar button to flip colormap | ||
Mini toolbar for Parallel Plot Axis | ||
System Variable for increment steps on Mini toolbar | ||
MT button for data label leader line control |
| |
Wrap Text button on Legend, Text, Axis title MT and related issues | Support wrap text for text object, legend, text label on worksheet, tick label. | |
Support legend substitution in data labels | Legend might be using %(1,@L) and this currently cannot be used in data label, we should allow it in the form of %(?,@L) similar to axis titles. For example:
| |
Show button feedback on 3D graph when clicked | For text and rectangle objects, show click feedback when clicked same as in 2d graph. | |
Add System variable to turn off area legend | Set @LLAB=0, then when plotting fill area plot, only line legend shows. |
Programming
Labtalk
JIRA | SUMMARY | DETAILS |
---|---|---|
Excel like pi product function |
E.g. column A is filled with 2, 3, 4, 5 In B1 cell, enter = product(A) will get 120, which is 2*3*4*5. | |
Excel like LET function | Easier to write complex formulas, by making it possible to declare and assign values to variables inside a formula
exp1 is resolved and assigned to name1, exp2 is resolved and assigned to name2, then assign names to calculation for result.
| |
Command Window | support mouse wheel zoom, more support on auto complete | |
Introduce new LabTalk command to update pending locks | run -p aub;//active book run -p auw;//active sheet run -p aubd;//active book and all its descendants run -p auwd;//active sheet and all its descendants | |
LabTalk Access to Dash Definition at Plot Level | Syntax: set name -ldf value set %c -ldf "5 20 10"; | |
GetN supports dataset elements | E.g. dataset values; | |
LT Labtalk control of Box Plots |
| |
Sort columns by Long name, etc. |
| |
Allow LT to control plot label using index | layer.plot.label.Spec$="0";//to show label at end of plot layer.plot.label.Spec$="";//turn off show label at specific indices checkbox layer.plot.label.fsize layer.plot.label.color layer.plot.label.form$ |
Python
JIRA | SUMMARY | DETAILS |
---|---|---|
ORG-22062, ORG-21995, ORG-22031, ORG-22106, ORG-22107, ORG-22063 | Introduce originpro module get/set between pandas DataFrame and Origin worksheet, matrix, graph etc. | We have introduced a new originpro package for easy access to Origin from Python. This package works on a higher level, providing easy access to workbooks, matrices and graphs with very little code. The package also provides higher level access to data frames and numpy arrays. Several sample Origin projects have been added under \Samples\Python sub folder. These samples have Python code attached as .py files in the project. Documentation including detailed reference for the orignipro package. https://www.originlab.com/python/doc/originpro/annotated.html import pandas as pd import originpro as op wks=op.find_wsheet() df = wks.to_df() wks = op.new_wsheet( 'Test Category' ) wks.from_df( df ) |
Update preshipped Python version | upgrade Python to 3.8.3 | |
menu access |
| |
Import Wizard with Python support |
| |
Fitting functions using Python | Define fitting function using Python and fit in Origin | |
Wrap text in Python Console | Allow auto wrapping for dir command’s output in Python Console. | |
Add new function for Python Object to call LabTalk with return value | GetNumProp, GetStrProp, SetNumProp, SetStrProp, DoMethod are added for PyOrigin and OriginExt. | |
Remove Python 2 from installation | Stop supporting Python 2. | |
Support Python PIP command | All pip commands are supported in LabTalk now. For example, you can use following command to install numpy package directly. pip install numpy; | |
Install Packages from Python Packages menu | Add Python Packages tool to install/uninstall internal python packages. In Code Builder, select Tools: Python Packages… In main workspace, select Connectivity: Python Packages… | |
OC to call Python functions | OC supports calling Python functions. By default the py file should be placed in the same folder as the c/cpp or XF file, and the name of the py file has to be origin.py.
Python.OCWD$;//OC Working Directory 2. to change file name(independent of 1) Python.OCWF$;//OC Working Filename | |
Labtalk LT to call python functions | LT supports calling Python functions. By default the py file should be placed in the User Files Folder with name labtalk.py. Call function with syntax aa = py.myfunc(x,y) We can also specify the file name, for example, signal_utils.py, then we can call the function by aa = py.signal_utils.myfunc(x,y) To change that, you need to
Python.LTWD$;//LT Working Directory
Python.LTWF$;//LT Working Filename | |
Show Python print immediately | Added a system variable @PYO to control if show Python print immediately for Embedded Python. @PYO=1(default):immediate output @PYO=0:output at the end For example: import PyOrigin as po print('before') po.LT_execute('typ hi') print('after') if before hi after if hi before after | |
Failed to run UTF-8 py file in Origin Python |
| |
Add some basic functions under MatricLayer class in OriginExt and PyOrigin | Added three function in OriginExt and PyOrigin under MatricLayer class: SetShape(self, nRows, nCols, bKeepData=FALSE) SetNumMats(self, nMats) GetNumMats(self) | |
Origin COM Improvements 2021 | Added following function in COM, OriginExt and PyOrigin.
| |
Improve Using Origin from Outside Python | Added python package OrglabExt for COM calling | |
Prevent Script Window GUI for Python | Show message box that recommend to use Python Console instead. | |
Add Python Function tab in Set Column Value dialog | Add Python Function tab in Set Column Value dialog | |
Python control of plot colormap and color list | Control over plot colormap and color list. plot.colormap="candy.oth" plot.colormap="beach.pal" For example: import originpro as op wks = op.find_sheet() graph = op.new_graph(template='scatter') layer = graph[0] plot = layer.add_plot(wks, coly=1, colx=0) layer.rescale() plot.color = op.color_col(1,'n') plot.colormap="fire" | |
Better handling of Date and Time columns | Added methods to originpro WSheet class to set Date and Time format columns: wks.as_date(col=0, format='yyyy-mm-dd') wks.as_time(col=0, format='HH:mm:ss') Where format is Origin date time format specifiers. | |
Upgrade Packages via Python Packages tool | Python Packages dialog in Code Builder now supports upgrading selected packages via Upgrade button. | |
originpro package update-able independently | originpro package can now be updated independent of origin releases using Python Packages Tool in Code Builder’s Tools menu. |
Origin C
JIRA | SUMMARY | DETAILS |
---|---|---|
code to download color palette from the internet | Added following OC function to download color palette. If file name arg is NULL or empty then the downloaded palette is installed.
At this time it can convert the following:
| |
Need an OC function to get modifiers from graph | Added two OC functions to get modifiers. int DataPlot.GetModifiers(vector<int>& vnDesigs, vector<string>& saNames); int GroupPlot.GetModifiers(vector<int>& vnDesigs, vector<string>& saNames, vector<int>& vnIndices); |
Code Builder
JIRA | SUMMARY | DETAILS |
---|---|---|
Code Builder Shortcut Key Need VS like Ctrl+K Ctrl+C support | Update some Code Builder Shortcut Keys:
| |
Support debug Python file | Support debug Python file in Code Builder |
General
JIRA | SUMMARY | DETAILS |
---|---|---|
Range String Builder dialog updates | Clearer labels and contexts, update menu entry name as Custom... | |
Main Menu Rework |
| |
Preset system variables etc during installation |
| |
HTML Report Ease of Use |
|
Analysis
JIRA | SUMMARY | DETAILS |
---|---|---|
Moving Average Functions NANUM (Missing value) Ignore or Zero Issues | Support different ways to treat missing value in the following functions: movavg, tmovavg and movcoef. New option “missing“ is introduced:
| |
Improvement on Operation Lock tooltip |
| |
Average Multiple Curves with Different X Ranges Issue | Adding new option “No Extrapolation”:
| |
Support set sampling interval on locked columns | Allow set sampling interval on locked column now. | |
Peak Analyzer default theme setting changes | 2 choices Enable Linear Constraints Status and Constraints change to check by default | |
GCAS function has no "abs" | “abs“ in the GCAS function is not necessary and so it’s removed now. | |
Support Open Book(s),buttons from Summary Sheet when Data Source is set to Use Existing Data | There were Open Book, Reprocess and Update buttons in result sheet created by Batch Processing only if Data Source was Import from Files in the past. Now there are also such buttons if Data Source is set to Use Existing Data. | |
Vertical Cursor supports side by side layers | Linked Cursor for Each Layer button is added in Vertical Cursor tool to add vertical cursor at same X position for all layers in current graph. | |
Pre-ship Fitting Function Library App and show it in appropriate tools | Choose Tools: Fitting Function Builder… menu. There is link to open the App
|
Worksheet
JIRA | SUMMARY | DETAILS |
---|---|---|
Mini toolbar for label rows in worksheet | ||
Data Display Format Mini Toolbar for Worksheet | Add new mini toolbars for easily customize the number of digits, date, and time format. | |
Change Column (Cell) Format on Pasting Date Time Data |
| |
Better Handling of Time Data that Wraps Around Midnight | User sometimes has time data that missing day info. When plotting with such data as X range, the plot may jumps back to beginning of axis at midnight.
| |
Redo wTranspose XF tool | In the past, output of wtranspose maybe problematic when directly use as anlaysis input. Now, this should not be a problem anymore. | |
Support Color Column in Worksheet | In Column Properties dialog, set column format as Color.
| |
Allow setting HTML color code in colors popup. | In Color Popup, add HTML edit box allowing copying/pasting HTML color code. | |
Save and Load Formula Improvements in Set Column Values |
| |
Support mask column based on Outlier by IQR | Select Column: Mask Cells by Condition… menu. Outliers by IQR is added in Condition dropdown | |
Alt+Enter for new line | Use Alt+Enter for new line instead of old Ctrl+Enter. System variable @FCA =1 to roll back to old way. This also applies to adding mult-line text in graph and script window | |
Missing Value NANUM for numeric column which is not double(8) | When column format is set to Numeric and Data Type is set to other options e.g. Real(4) instead of the default Double(8), user can assign a custom value as missing value, such as: wks.col1.missing = 0/0 //turn the feature off This property is saved with the column. | |
Aligning on decimal character in column | In Column Properties dialog, set Numeric Custom Display as e.g. .3? | |
Paste (Keep Spaces) context menu when right clicking worksheet cell | It will paste space separated text in one cell |
Statistics
JIRA | SUMMARY | DETAILS |
---|---|---|
Statistics on Rows support multiple sheets as input | Origin 2021 implemented it. | |
Matrix
JIRA | SUMMARY | DETAILS |
---|---|---|
More Shapes added to extract data from Matrix | In Image mode of matrix (View: Image Mode), user can use rectangle, circle, polygon, region tool to define region of interest and extract the data there. |
App
JIRA | SUMMARY | DETAILS |
---|---|---|
Let Customers to choose download new app xml | In origin2020b, origin will download new app xml when open App center dialog if new app info comes. it is not friendly since it takes more or less 15s to finish downloading. In origin2021, origin provide a Download Now button in app center dialog when new app info comes, customer can choose download new app info manually as he want. therefore, user does not need waiting when open App Center dialog. once downloading is finished, new app info will be updated in App Center dialog instantly. | |
App Bar order based on previously used or frequency | Option is now available to sort App icons in App Bar by usage. In app Bar context menu: Sort Apps->Recently Used.. |
Miscellaneous
JIRA | SUMMARY | DETAILS |
---|---|---|
Copy Notes Window within or across sessions |
Then in another running instance of Origin, Ctrl+V to paste such Notes window in current folder. Labtalk command
|