...
...
...
...
...
...
...
...
...
...
...
Feature
...
Description
...
How to
...
Working with NetCDF Climate Data
Data Handling
Column/Cell Value Formula
...
JIRA | SUMMARY | Description | DETAILS |
---|---|---|---|
Create taylor diagram for facilitating the comparative assessment of different models. | Taylor Diagram app is capable of creating taylor diagram for facilitating the comparative assessment of different models. |
| |
Create 3D polar strain map plot. | 3D Polar Strain Map app can be used to create 3D polar strain map graph. | Download 3D Polar Strain Map app from the page and install the app. This app requires four input columns: time, angle, depth and strain. And groups for time, angle and depth must be balanced. Operation:
| |
Unicode Symbol for scatter plot | Enter unicode number to show unicode symbols in scatter plots | Enter Unicode for symbol in Plot Details dialog | |
Lollipop Plot | Lollipop Plot added to connect corresponding rows vertically or horizontally |
| |
Browser Graph -> Stack | Stacked Browser to plot stacked graphs based on grouping information in column label rows with interactive buttons on the left manipulate plots |
| |
Flip through sets of plots | In Browser Graph user can now defined subset and flipping through |
| |
Specialized - > Compass Plot, Polar Vector | Two graph types added: Polar Vector and Compass Plot. | vector plot in polar coordinates Plot: Specialized: Polar vector, Compass Plot. | |
Chord Diagram | Plot: Categorical: Chord Diagram | Plot: Categorical: Chord Diagram, Chord Diagram with Ratio Layout after Alluvial, in Plot menu: Categorical tab. | |
ORG-22114 | Improvements on Row-wise Plot | Row-wise Plot can now follow categorical order and the data can be filtered |
|
ORG-22262 | Sankey Node Order follow Data Order | Nodes in Sankey plot can now 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 | the layers in a Double-Y graph can be reordered without breaking linking. | 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. |
...
JIRA | SUMMARY | Description | DETAILS | ||
---|---|---|---|---|---|
Excel like pi product function | Add product Labtalk function which returns the product of a dataset |
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 | Add LET Labtalk function which pairs values and names and calculates the expression using the names | 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 improvement | Command Window now supports Zoom in/out and auto code complete | support mouse wheel zoom, more support on auto complete | |||
Introduce new LabTalk command to update pending locks | Improve Labtalk command run -p to update pending locks for active book/sheet. |
| |||
LabTalk Access to Dash Definition at Plot Level | Labtalk command set supports setting line dash property. | Syntax: set name -ldf value
| |||
GetN supports dataset elements | GetN Box now supports to assign dataset values. | E.g. dataset values; | |||
ORG-22214 | LT Labtalk control of Box Plots | Add more Labtalk controls to customize Box Plot properties such as statistical lines, labels, etc |
| ||
Sort columns by Long name, etc. | Added Labtalk worksheet method |
| |||
Labtalk access to more plot properties | Add more Labtalk controls to customize plot properties such as symbol overlaps, label properties, plot color, etc |
| |||
LT labtalk Color() function supports specify mapping column | Improve Color() function to set plot color by column | Syntax: m=colormap, n=indexing, r=RGB
| |||
GetNBox focus issue | Increase default GetNBox entry focus time | Changed the default value of @ETG to 1700. | |||
Skip none-accessible objects in doc looping | doc -e G will skip none-accessible objects in looping graph objects. | When use doc -e G command to loop for all labels and other named objects in the active graph layer, the objects that not accessible from LabTalk will be skipped now. | |||
Plot Hide Show events from Labtalk | Add a new event “Plot Hide Show” in Object Properties | Open Object Properties dialog, in Programming tab, a new event is added in the Script Run After drop-down list. Choose it and then script will be execution when plot hide/show. |
Python
JIRA | SUMMARY | Description | DETAILS | ORG-22062, ORG-21995, ORG-22031, ORG-22106, ORG-22107, ORG-22063, ORG-22556 | 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
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Update preshipped Python version | Upgrade preshipped Python to 3.8.3 | upgrade Python to 3.8.3 | menu access access to Python | Under menu Connectivity,add new menu Open Untitled.py, Open Default Python Functions, Open examples.py, Open, Python Packages. etc
| |||||||||||
Import Wizard with Python support | Support data file import with Python in Import Wizard. Import filter now support Python code |
| |||||||||||||
Fitting functions using Python | Support using Python function as fitting function | Define fitting function using Python and fit in Origin | |||||||||||||
Wrap text in Python Console | Support auto wrapping 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 | Add new method GetNumProp, GetStrProp, SetNumProp, SetStrProp, DoMethod 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. | Stop supporting Python 2. | |||||||||||||
Support Python PIP command | Support installing Python packages with PIP command in LabTalk | All pip commands are supported in LabTalk now. For example, you can use following command to install numpy package directly.
| |||||||||||||
Install Packages from Python Packages menu | Support installing 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 | Support calling Python functions from Origin C code |
Code Block |
---|
Python.OCWD$;//OC Working Directory |
2. to change file name(independent of 1)
Code Block |
---|
Python.OCWF$;//OC Working Filename |
Labtalk LT to call python functions
Support calling Python functions from Labtalk script
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
Code Block |
---|
aa = py.myfunc(x,y) |
We can also specify the file name, for example, signal_utils.py, then we can call the function by
Code Block |
---|
aa = py.signal_utils.myfunc(x,y) |
Also, you can change the default working directory and default file name by following command,
Code Block |
---|
Python.LTWD$;//LT Working Directory
Python.LTWF$;//LT Working Filename |
To call Python function in the attached py file in the project, use the py.@ syntax.
Code Block |
---|
aa = py.@myfunc(x,y) //if there is a single attached py file
aa = py.@filename.myfunc(x,y) //if there are multiple attached py files, use filename |
By default, when calling Python function in LabTalk and Column Formula, function argument is assumed to be list of float, and this can be controlled by system variable @PYFV (Default is 3).
Also, you can specify the argument and return type with function annotations.
Code Block |
---|
def f2(a:float, b=1)->float:
return a+b |
An alternative to specify argument and return type is to use docstring, which is more important when function is used in column formula.
Code Block |
---|
f = float
F = list of float
s = str
S = list of str
i = int |
Show Python print immediately
Python print() function now output result immediately when executed
Added a system variable @PYO to control if show Python print immediately for Embedded Python.
Code Block |
---|
@PYO=1(default):immediate output
@PYO=0:output at the end |
For example:
Code Block |
---|
import PyOrigin as po
print('before')
po.LT_execute('typ hi')
print('after') |
if @PYO=1
, will output as
Code Block |
---|
before
hi
after |
if @PYO=0
, will output as
Code Block |
---|
hi
before
after |
Support running UTF-8 py file in Origin Python
Support running UTF-8 py file in Origin Python
run -pyf test.py
Python file created in Code Builder is set as UTF-8 by default.
Add some basic functions under MatricLayer class in OriginExt and PyOrigin
Add some basic functions under MatricLayer class in OriginExt and PyOrigin: SetShape(), SetNumMats(), GetNumMats()
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: OPY_CLASS(Page)* , LoadPage(const string& strPathName, int options = CREATE_VISIBLE_SAME);
Added following function in COM, OriginExt and PyOrigin.
OPY_CLASS(Page)* LoadPage(const string& strPathName, int options = CREATE_VISIBLE_SAME);
Improve Using Origin from Outside Python
Added python package OrglabExt for COM calling
Added python package OrglabExt for COM calling
Prevent Script Window GUI for Python
if use script window to run Python, it shows message box that recommend to use Python Console instead.
Show message box that recommend to use Python Console instead.
Set column value with Python code
Added Python Function tab in Set Column Value dialog to define Python functions which can be called to set column values.
Add Python Function tab in Set Column Value dialog
Python control of plot colormap and color list
Added Python control of plot colormap, color list, symbol type and size.
Control over plot colormap and color list.
Code Block |
---|
plot.colormap="candy.oth"
plot.colormap="beach.pal" |
For example:
Code Block |
---|
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" |
Also, control the plot symbol type and size
Code Block |
---|
plot.symbol_kind
plot.symbol_size |
Better handling of Date and Time columns
Added methods to originpro WSheet class to set Date and Time format columns:
Added methods to originpro WSheet class to set Date and Time format columns:
Code Block |
---|
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.
Python Packages tool
Easy way to install Python Packages in Origin from Python Packages menu.
Python Packages dialog to install, upgrade and uninstall packages.
Menus to open the dialog:
In Origin main window, choose Conectivity: Python Packages…
In Code Builder, choose Tools: Python Packages…
We recommend restart Origin after the installation.
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.
originpro package can now be updated independent of origin releases using Python Packages Tool
Support Intellisense for Python
Support Intellisense for Python coding in Code Builder.
Implemented features:
Auto complete when typing in editor, or when invoked via menu/hotkey. (Ctrl+L)
Go to definition on symbol under cursor. (F11, or context menu)
Find references on symbol under cursor. (Alt+Shift+F, or context menu)
Docstrings shown as a popup window when hover on a symbol.
Signature help window will be shown after typing '(' for function hint, prototype, parameters will be shown in this window
Show symbols in current file (Alt+M, or main menu)
New system variables:
@CI: Enable/disable code intellisense
@CIE: Show LSP error. e.g. when fails to find/run dependency
@CIS: Enable intellisense for script window. default=off
OriginExt support for originpro -- project level
originpro module is available for external python to call Origin COM by OriginExt.
Use originpro in external python to call Origin COM by OriginExt.
Python Improvement in Workbook template
Workbook template now detects if necessary Python packages are installed.
Support running Python script saved in a text object in workbook.
Added page property “
page.tkey$
“ for packages, for example, setpage.tkey$ = "py:pandas";
for a template, when open this template in Origin, will check if pandas python package is installed.Support running python code in a button. for example. then there are python in a button named test, just need to run “
run -pyb test
“.
Add Python based templates in New Workbook dialog
More Python based workbook templates are added. Hovering mouse over those templates tells if it’s Python sample
Provide some new templates in New Workbook dialog to show how to use Python in Origin.ORG-22606
LT Labtalk Accessing Cells from Another Book
Improve LabTalk accessing cells notation from another book.
Support col(A) notation. E.g.,
=[book1]1!col(A)[1]
Book Name support resolving string varaible. E.g., Fill A1 cell with “Book1”, the cell formula
=[A1$]1!A1
can refer to A1 cell in the 1st sheet of Book1Support A0 notation. E.g.,
=[A1$]1!B0
Origin C
JIRA | SUMMARY | Description | DETAILS | ||
---|---|---|---|---|---|
Functions to download color palette from the internet | Added OC functions to download color palette: | Added following OC functions 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:
| |||
OC functions to get modifiers from graph | Two OC functions to get modifiers are added.: | Added two OC functions to get modifiers.
| |||
OC function to get logical coordinates from xyz | Improve GraphLayer.WorldToView() and GraphLayer.ViewToWorld() to support 3D graph. | Improve GraphLayer.WorldToView() and GraphLayer.ViewToWorld() to support 3D graph. |
...
JIRA | SUMMARY | Description | DETAILS |
---|---|---|---|
Main Menu Rework | Social menu is added before Help menu, Help menu reorganization |
| |
HTML Report Ease of Use | Some menus added related to HTML report |
| |
Copy Notes Window within or across sessions | 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
| |
Set Project Protection in Save Project As dialog | Protect Project… button in Save Project As dialog | In the past, user had to use Tools: Protection: Protect Project… to set password. Then save project to In Origin 2021, user can set protection password from File: Save Project As… dialog. |
Apps
JIRA | SUMMARY | Description | DETAILS |
---|---|---|---|
Let Customers to choose download new app xml | Manually click Download now button to get new apps information | 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 | In app Bar context menu: Sort Apps->Recently Used is added | Option is now available to sort App icons in App Bar by usage. In app Bar context menu: Sort Apps->Recently Used.. |
...