Origin 2019 Features

  • The following table provides a summary of key new features with brief description, and where to find the feature in Origin 2019.
  • Look in sections further below for detailed feature notes.

Feature NameBrief DescriptionWhere to find it in Origin
Windows-like Search

A *Start Menu* button has been added to the bottom left corner of the Origin interface.

Click on the button, or press F1 to:

  • View recently opened Origin Projects, other files, menus and Apps
  • Type keywords or phrases into edit box to search within Origin
  • Search can be customized in a Settings dialog accessible from the icon next to the edit box.
  • Search results can include Menu items, Apps, X-Functions, Help files, Videos, Sample Project files.
  • Search can also look for your recently-opened Origin project files, or project files in folders where you recently opened projects.
  • Search results will display a tooltip with more information, as well as a preview of graphs in the case of Sample Projects that are installed with Origin.

Menu items, Apps and X-Functions are launched directly when you click on search results.

Origin icon on bottom left corner of the Origin window. 

Settings button to customize the search.

Search results can by controlled by typing a letter in front of the search phrase:
m search phrase : show only menu and shortcut menus
a search phrase  : show only apps
h search phrase  : show only Help+FAQ
search phrase  : show only videos
search phrase  : show only X-Functions

p search phase : show recent projects

s search phase: show sample projects

search phrase  : show Menus+Apps+X-Functions (executable ones)

New Workbook Dialog

The New Workbook dialog allows you to:

  • Choose from one of the many workbook templates that ship with Origin. Templates are configured for specific tasks such as linear calibration or assays
  • Open your own custom templates from the User Templates tab.
  • Save custom templates with a Preview image and descriptive tooltip
  • Construct a new workbook with desired number of columns and column designations
  • Set any template as default so that new projects and new workbook always start from your selected template

"File→New Workbook" menu or Ctrl+N.

Can also be turned on for New Project and on startup.

Add Sparkline toolbar buttonAdd Sparklines to selected columns.

Highlight columns and click the 1st button on Columns toolbar.

New Graph Types
  • Double-Y Trellis Plot
  • Parallel Plot
  • Cluster Plot
  • Violin Plot
  • Row-wise Plot
  • Contour plot of Categorical Z values
  • Heatmap with Label
  • 3D Tetrahedral Plot
  • Stacked Histogram

Graph samples are included in the product.

Press F11 to open Origin Central dialog. 
Select  "Graph Samples" tab, then set drop-down on right side to "All Plot Types", then type 2019 in the edit box and click the search button.

Data Highlighting

Highlight data points in all open graphs that originates from same row of worksheet. 

  • Select one or more points in a graph and highlight data in other graphs plotted from the same worksheet rows.
  • Select one or more rows in worksheet and corresponding points in all graphs will be highlighted.
  • Simultaneously highlights corresponding worksheet rows and fades unselected rows.
  • On quitting the tool, worksheet rows remain selected. You can further process these rows by copying to a new sheet, masking row data, etc.
  1. With a graph active, select the new Data Highlighter tool (5th button in Tools toolbar, same group as the old Data Reader and Data Cursor)
  2. With graph active, hover on a data point for new tooltip. To customize, move your mouse into the tooltip area, then right-click and select Preferences.
Data Point Tooltip

Mouse over data point in graph will show coordinates & row number. Customize it to show other information from worksheet

  • Mouse over data point in graph to view tooltip.
  • Double click within the yellow tooltip box to customize further.
  • Right click within the yellow tooltip for more options such as Copy text, Go to worksheet etc.
  • Uncheck View: Data Tooltip menu to turn it off.
  • Set transparent background by system variable @TDT
  • Click reset back to restore to default. 

Plot Highlighting

When selecting a plot in graph or in Object Manager, other plots fade away.

In Object Manager, click a plot.

Or in graph window, click once to select a plot. For grouped plot, needs to single click twice to select a plot

Click LEFT and RIGHT arrows to highlight previous or next plot

Conditional Formatting

Highlight Cells by Rules, Highlight Duplicate Cells, and Heatmap

Select a group of cells/columns/entire sheet, then right-click and select context menu "Conditional Formatting", or select the "Worksheet→Conditional formatting" menu.

Column List View

For large data with or many metadata, switch to Column list view to better view columns and metadata.

It's like a transposed view with no data cells in display.

Each row will correspond to a column in regular view. User can select row(s), which is actually column(s) to plot and analyze. 

  • With worksheet active, select "View→Column List View" menu or Ctrl+W
  • Mouse over the beginning of long name cell to see 1st 5 values in tooltip
Missing Values as Blank

Empty cells display as blank instead of missing values (--) in worksheet when adding/inserting data; copying and pasting data and importing data.

  • Unused cells display a different background. There is a checkbox Indicate unused cells with a shaded background in Workbook Properties dialog.
  • Data always starts from 1st row of a column, which is different from the past.  
  • Delete data on last row will shrink data size (i2 updates)
  • Ctrl+delete to add missing value to a cell, in cases that user wants to make sure each column has same length. 


  • select a set of cells in a worksheet and hit Delete key. The cells will be blank. In previous versions the cells will be missing value.
  • Copy a column with missing value on top and paste to new columns, empty rows will be kept on the top.
  • Import Excel file with blank cells. In Origin, they are still blank. In the past, if u click those empty cells, they are --. 

Graph Maker App

The new Graph Maker App provides an interactive way of exploring relationships between multiple variables.

Pre-installed in 2019.

  • Create a plot by dragging and dropping variables from a column list
  • Quickly change plot type, for example, from scatter to box plot
  • Use categorical variables to split data into multiple panels, vertically or horizontally
  • Use categorical or numeric data from other columns to assign symbol color, symbol type etc.
  • Create the graph in Page View, or a drag-to-resize Window view that lets you to interactively drag and resize the graph window to give a better view of your data

Statistics Advisor App

Interactive dialog to guide user on choosing the appropriate statistics test/tool/app.

Pre-installed in 2019.
  • The App asks you to describe the type of test you wish to perform
  • App then recommends built-in Stats tools and/or Apps appropriate for the test
  • If a recommended App is not installed, it can be installed in the background
  • Keep the Advisor dialog open while working with your data, so you can return to try another tool or App with your current data
Peak Deconvolution App - ORIGINPRO ONLYPerform peak fitting/deconvolution with a friendly interface.Search from Start menu of Origin 2019 and download it
Design of Experiments App - OriginPRO ONLY

Design an experiment, fit a model to experimental data, and find best factor settings that optimize responses.

Requires R software to be installed on your PC.

Search from Start menu of Origin 2019 and download it

Independent Component Analysis App - OriginPRO ONLY

Decompose observed mixed signals into sub-components which are assumed to be independent from each other. Input data can be either columns or matrices.

Requires R software to be installed on your PC.

Search from Start menu of Origin 2019 and download it

Import LSM App

Import images from LSM files.

Search from Start menu of Origin 2019 and download it

Gaussian Mixture Models App - OriginPRO ONLY

Fit Gaussian mixture models and cluster test data.

Search from Start menu of Origin 2019 and download it
Image Object Counter App - OriginPRO ONLY

Object identification and measurement on image.

Search from Start menu of Origin 2019 and download it
Global Fit with Multiple Functions - OriginPro ONLY

Perform global fit and share parameters between different functions.

Search from Start menu of Origin 2019 and download it

Graph Publisher

Help to prepare a graph for publication.

Search from Start menu of Origin 2019 and download it

Align Peaks

Align peaks of spectra by shifting, scaling, clipping and inserting data.

Search from Start menu of Origin 2019 and download it

Detailed Feature List:




A Start Menu button has been added to the bottom left corner of the Origin interface.

Click on the button, or press F1 to:

  • View recently opened Origin Projects, other files, menus and Apps
  • Type keywords or phrases into edit box to search within Origin
  • Search can be customized in a Settings dialog accessible from the icon next to the edit box.
  • Search results can include Menu items, Apps, X-Functions, Help files, Videos, Sample Project files.
  • Search can also look for your recently-opened Origin project files, or project files in folders where you recently opened projects.
  • Search results will display a tooltip with more information, as well as a preview of graphs in the case of Sample Projects that are installed with Origin.

Menu items, Apps and X-Functions are launched directly when you click on search results.


The New Workbook dialog allows you to:

  • Choose from one of the many workbook templates that ship with Origin. Templates are configured for specific tasks such as linear calibration or assays
  • Open your own custom templates from the User Templates tab.
  • Save custom templates with a Preview image and descriptive tooltip
  • Construct a new workbook with desired number of columns and column designations
  • Set any template as default so that new projects and new workbook always start from your selected template


Support Numeric Units, pi, km etc in worksheet and graph

  • On Tick Labels tab of Axis dialog, set Display as Custom, and set Custom Format as #/4 "pi" to show π in quarters.
  • In Column Properties or Format Cells dialogs, Set Display as Custom and set Custom Format as .4 "pi" to show π with 4 decimal places.
    • if you type 0.5 in a cell of the column, it will show as 0.5π
    • Added example #/# "pi" in Custom Format dropdown list. This will show pi in lowest term fraction, e.g. 2π/4 will show as π/2
    • Support unit in front of number, e.g. "$" .2, will show $.2.50

ORG-17785Define Preview of Book and Graph Templates

When saving book or graph templates, user can specify his/her own preview image. 

This also works when saving Workbook Window as OGWU or saving Workbook as Analysis Template OGWU 

ORG-18449Add Sparklines button on Columns toolbar

Click it will add sparklines on selected columns.

ORG-18491Help: Origin Central is renamed as Help: Learning Center. 

Under Help: menu, Origin Central... is renamed as Learning Cener...

There are only 3 tabs

  • Graph Samples
  • Analysis Samples
  • Learning Center

Reorganized Help: Open Folder to open useful folders:

E.g. Current Project will open the current project folder in Windows Explorer.

Unsaved Projects will open the folder in Windows Explorer, where all project files user chooses not to save but Origin saves for 7 days. It's controlled by system variable USKT=7. You can set it to 14 in Tools: System Variables to kept unsaved files for 14 days.


Adds some new graph types to 2D and 3D Graphs toolbars.

  • Statistics -> Violin Plot (picked the 2nd one) – after 1st one (box chart)
  • Line+Symbol --> Rowwise — show as last one
  • Multi-Y --> Colormapped Line Series – after stacked lines by Y offset
  • Contour -> Heatmap with Label – after heatmap
  • 3D Scatter -> 3D Tetrahedral – show as last one


SCN icon improvements

  • Clickable Spreadsheet cell notation (SCN) icon to turn it on or off. In the past user had to go to Workbook Properties to uncheck it.
  • The icon with X is a better indication that SCN is off. When SCN is off, user can rename column short name. But user can't enter formula like A*2 anymore. Must use the old Col(A)*2

Note: For 2019, the default value of LT System Variable RCN has changed from 7 to 15. This means that all new books created by win -t or newbook, will have SCN turned on, by default. To restore old behavior, set RCN = 7 ORG-18407-P3.

ORG-18678Easy way to pick a color and get its HEX value.

X-Function Colors is added.

Run "colors" in Script window. Colors dialog will open for user to pick a color.

Click OK. Hex value will be dumped.


Project Explorer Improvements

  • Allow specifying folder name when adding new folder. In 2018, needed two steps: Create new folder and then rename.
  • Show Folders context menu to show folders in bottom panel of Project Explorer (PE)
    • We changed in Origin 2018 to show folders on top panel of PE only. After the change, it's impossible to select multiple folders and then move/delete them. So Show Folders context menu is added in bottom panel of PE. Once it's checked, user can select multiple folders and move/delete them.


New mechanism to show information to user such as free upgrade to new version

In the 1st few instances of Origin, you will see the following notification on upper-right corner of your Origin. It will fade away after 10 seconds. It's for testing our new way to notify user of future release. The link goes to wrong location. U can ignore that.


Improvements on By Points tab of Color control in toolbar and dialogs with applicable color controls. 

  1. Showing Increment from control while using Indexing/Direct RGB/Color Mapping was very confusing in the past. So in 2019, radio buttons are added before each option so it's clear to user which coloring option they are using. 
  2. Pencil icon after Color List for easy edit. In the past, "Ctrl+click to edit the color list" hint showed when mousing over the color list but it's hard for user to know. So in 2019, a pencil icon is added. 

ORG-18507Reorganize and reduce Help menu entriesReorganizing and also regrouping the Help Menu
 ORG-18980Select multiple layers by clicking+Shift on the layer icon on the graphPress Shift+click on layer icon to select multiple layers on the graph.


Data Visualization Enhancements






Data Point Tooltip

  • Hover on a data point in a graph to read XY or Z coordinate values
  • Customize the tooltip to display other worksheet-contained data associated with the data point
  • Formatting of numeric data to follow worksheet, graph axis or unique custom display
  • Save tooltip settings to the graph or to a named Theme file that you can use with future graphs
  • Transparent background with System Variable @TDT to control degree of transparency: 
    • Set value from 1 - 254 (default = 220), with lower numbers increasing transparency.
    • Set value to 0 or 255 to turn off transparency.
  • Uncheck View: Data Tooltip menu to turn it off.
  • Toggle Tooltip type from Context menu





Data Highlighter

  • Select one or more points in a graph and highlight data in other graphs plotted from the same worksheet rows.
  • Select one or more rows in worksheet and corresponding points in all graphs will be highlighted.
  • Simultaneously highlights corresponding worksheet rows and fades unselected rows.
  • On quitting the tool, worksheet rows remain selected. You can further process these rows by copying to a new sheet, masking row data, etc.
  • Use Left and Right arrow keys to navigate.
  • In Data Highlighter mode, press SPACE key to toggle drawing mode. E.g. by default, drag mouse will draw a rectangle. Data within the rectangle will be highlighted. Press SPACE key and then drag mouse will draw freehand shape. Data within the freehand shape will be highlighted. 


More Line Plot Styles

A Compound Style dropdown list is added on Line tab of Plot Details dialog.

ORG-18919Better Default Numeric Display Format For X Y Z in Tooltip

Data Tooltip display custom format, following case covered:

  1. User unit
  2. Engineering
  3. DMS
  4. PI
  5. Percent
ORG-17536Pick point tool

When mousing over a data point, data point tooltip shows. Right click in the tooltip and choose Pick Point to enter picking point mode.

Double click or single click +Enter key to keep on picking points. Press ESC to finish picking points. A output sheet will be created with pointed points for further analysis. 

New Graph Types


Trellis Plot with Double-Y Axes 

From Plot menu, choose Plot → 2D → Double Y Trellis Plot... 


Parallel Plot

From Plot menu, 3 types are added:

  • Parallel Plot
  • Parallel Sets
  • Parallel Index (the last highlighted column will be used as indexing of color)


Cluster Plot

  • Plot multi-panel graph for each group its own axis controls
  • Click the green lock and choose Show or Hide Layers to filter out some groups

Known Issue: Slow when there are many panels.


Row-wise Line Series with Error Bars

If user's data is organized rowwise, can use this dialog to plot line, scatter, line+symbol, column or bar plots without the need to transpose data first.

When data is organized row wise, choose Plot: Line+Symbol: Row-wise to plot it.

  • YError column is supported.
  • X info. can be put to column label rows.

ORG-2188Contour with Categorical Z Values

If Z column is categorical, when choosing Plot: Contour: Contour with Categorical to plot it.

The graph will be plotted with color scale for each category.

ORG-12982Heatmap with Labels

Choose Plot: Heatmap: Heatmap with Label to directly plot a heatmap with Z values showing on each cell.

Customize the label on each cell on Labels tab of Plot Details dialog. E.g. Set decimal digits to display, etc.

Choose Y or Y, etc. from Label Form dropdown list on Labels tab to show  X or Y value as label.

ORG-17834Tetrahedral Scatters/Lines/Line+Symbols

For XYZZ data, Origin can normalize each row and plot in tetrahedral (Pyramid) coordinate system.


Violin Plot

From Plot menu, many violin templates are provided, including violin+box, half-violin, split violin, etc.


Stacked Histogram

Note: We used to have a Stacked Histogram plot menu but it plot stacked histogram in multiple panels. We renamed it as Multi-Panel Histogram


Grouped Scatter Plot

Choose Plot: Scatter: Grouped Scatter - indexed to plot scatter plots into groups.

Graph Customization



Row Title for Tick Label Table


Support %(CRLF) in Legend to wrap text

This works on Legends/Titles tab of Plot Details dialog and Update Legend dialog.

First set Translation mode to be Custom. Then specify the syntax with %(CRLF) in between.

ORG-17094Legend Symbol context menu is addedRight click legend in graph and choose Legend → A quick way to go to Symbol tab of Legend Properties dialog to customize symbol part.

Legend Symbol Width scale factor on Symbol tab of Text Object - Legend dialog

Easy way to set line or line+symbol kind of legend longer or shorter.  There was Legend Symbol Width control in Plot Details dialog for this in the past but hard to find. 


legend.align=1 by default for LegendIt's set to 1 by default so legend will be aligned to left properly even after modifying the text.
ORG-10287New Legend for Fill Area Plot

Both above and below colors are supported in legend.

In the past, only above color was supported.

ORG-18314Image Plot should have missing value support similar to contourAdd Missing value control for Image plot.
ORG-17983 Enable vertical auto position for box chart labelAdd Auto Reposition to Avoid Overlap checkbox in Label tab.
ORG-13417Display the median value in box chartAdd a Median check box to show Median value Label
ORG-16102Customize outliers in box chartIn Plot Details dialog, if Outlier is checked on Box tab, then Outlier tab appears for outlier customization.


Longer minus sign in Graph

Page level property. Set page.longminus=1 to turn it on

ORG-14451Rename plot group's long name in Object Manger

Right click group node, e.g. g1, g2 and choose Rename to give a meaningful group name.

Such group long name shows in

  • Data menu
  • Layer Contents dialog when mousing over group name
  • Labtalk commands are added to set and get group name:

    set %C -g1 Name; // %C must be Group Head get %C -g1 Name;



Object Manager: Data manipulation related to grouped plots

  • Remove a plot from a group of plots
  • Set as Group End

Usually when multiple data is selected and plotted, they are grouped so different colors are assigned to each pot.

Right click a plot in the group in Object Manager and choose Remove, the plot will be removed from the group. In the past, the whole group is removed.

This also works if you single click twice to select a plot in a group on the graph and then choose Remove

There is also Set as Group End context menu. When it's selected, all plots below it will be isolated from the group. 


Object Manager: Move Plot to Other Y Axis

  • Context menu in Object Manager to move a plot to 2nd Y or other Y Axis.

ORG-18913Object Manager: Move a plot from one layer to another by dragging in Object Manager

Drag a plot in Object Manager to another layer in Object Manager and release the mouse.

ORG-17997Edit Range supports specifying X values and an Apply button

User can right click a plot and choose Edit Range context menu to edit the display range.

In the past, user had to specify by row index. In Origin 2019, user can specify x range. 

Apply button is also added.

ORG-18753Support 3-Color Limited Mixing for Color Mapping

ORG-18649Support Categorical legend for 3D xyz bar plotBefore Origin 2019, categorical legend isn't supported in 3D xyz bar.
ORG-18772Show Major tick at min and max of axis


Support Custom Display Formats for Contour Labels

ORG-15225Smith Chart handles negative real for z@NRSC = 1 to disable this change


Display 24:00 as 00:00 in time data

Added a system variable @DSRS to specify if display 24:00 as 00:00 on Axes tick label. By default @DSRS = 1, means display 24:00 as 00:00, can also turn it off by setting @DSRS = 0.

ORG-18939Add independent color scale on layout windowWhen adding 3d or contour graph with color scale into layout window, the color scale is very small in each graph. In Origin 2019, you can add an independent color scale object in layout and customize it to match the color scale in graph.
ORG-18350Axis dialog to support Custom Numeric formatEasier way to enter From and To, special ticks, reference lines and break, etc. in axis dialog. Allow user to type 0 and 2 which will refer to 0 and 2 pi. The same issue exists when set Major Tick type as By Custom Positions; Special Ticks, Break, and Reference Lines tab.
ORG-19043LabTalk set command for custom increment list more support

Newly switches are added for set command to set custom increment list for color.

set %c -cuf XXXX; // fill color of pattern
set %c -cus XXXX; // edge color of symbol
set %c -cusf XXXX; // symbol fill color
ORG-18585Need 4 directions margin controls for fit layers to page Support left right top bottom margin for fit layers to page. Note we do not need to modify the gui of fit layers to page, just let the margin setting apply to 4 directions.
ORG-17567Show Master Items on Screen should be default and convert existing
  1.  Allow any object to be skipped as master items
  2. Apply page size to all
  3. Allow rotate from Landscape to Portrait
  4. LT template saving needs to dump message
ORG-16241Support more than one custom incremental lists for one property of one plotSupport more than one incremental lists for one property(currently is color or pattern) of one plot. User could ctrl-click to edit the increment list in fly-out to arrange elements. 


Smith Chart improvements requested by Michael Lehnert Additive
  1. Support zoom
  2. Data reader supports more results
  3. Handle negative real for z
 ORG-11302Show Categorical values in Color List, Shape List, Interior List tab

Add a 2nd column "Categories" in the following tabs and increment editor dialog:

  1. shape list tab
  2. interior list tab
  3. color increment editor dialog
  4. pattern increment editor dialog
  5. shape list tab of 3D bar
ORG-81432d Vector graph should also support Scale Length with Magnitude like 3D vector Support Scale Length with Magnitude for both 2D Vector XYXY and 2D Vector XYAM. Note 2D Vector XYAM have Magnitude control to modify magnitude, the Scale Length with Magnitude should base on the modified magnitude. 


Speed issue when there are too many panels

Limit the number of panels. System variable is @nop. The value of nop is 50 by default.

ORG-18939Support adding color scale on layout windowSupport adding independent color scale to layout window by Add Color Scale button in add object to graph toolbar.
 ORG-18676Contour label consider custom boundaryWhen custom boundary is on, Contour label will consider boundary now. Use @TCBL=0 to disable the feature
 ORG-17400Line Cap Control for Plots like Line and Column

Add a new system variable to @LCP to control the end of lines for Line+Symbol plot. 

  • 0: round (default value)
  • 1: square
  • 2: flat
 ORG-19063Support number of table rows =10Now the maximum of table row rises from 5 to 10. And Grouped Box/Column plots also support number of table rows to 10.
ORG-19113Graph: Fix Scale Factors dialog improvements

Set fixed scale factor for all layers so that font, axis, plots and objects will not be resized when layer is resized.

When clicking OK, current size and thickness of all elements are adjusted to maintain current look.

Show smart hint for PD resize as well.

ORG-19111Pick Points Improvements

Improve Pick Points to display and output column-based range string. If range is too long for the dialog to display, show it with a tooltip when mouse over range.

Make data source column range strings in output into links.

 ORG-17949Size index column should automatically indicate in bubble scaleA new system variable is added: @BNLP .It controls the auto-nested layout percent of bubble size. The default value is 20, which means when the bubble scale is larger than 20% of the whole layer in size, its layout will be switched to Nested from Linear if you renew/add a bubble scale for a size-indexed scatter/line+symbol plot.
 ORG-14809Auto Fill/Distribution Curve/Line Color

Add Auto option for Box, Column and Bar graph's pattern fill color. When Auto is on, Fill color is slightly lighter than Border color. A new system variable @PFACF is introduced with default value as 65. Auto Fill color will be lighter when number increases. 

Auto option for distribution curve in Box chart and Histogram also changed to follow the same logic. And a new system variable @PDACF is introduced with default value as 30. Auto distribution cuve color will be darker when number increases. 

 ORG-19029Support subset for Scatter PlotSubset is available for scatter plot in Origin 2019. When X is <autoX>, Spacing tab will show in Plot Detail dialog with Enable Subset Option, with option By Size and By Column. The new plot type Grouped Scatter-Indexed Data is base on this feature.




User Parameter Row Formula

Add User Parameters in worksheet with formula. This can be saved as template.

ORG-18289Worksheet Conditional Formatting: Highlight

Select a range of cells or column(s) and color cells that match rules.

ORG-18290Worksheet Conditional Formatting: Duplicates

Select a range of cells or column(s) and color cells with duplicate values.

ORG-18211Worksheet Conditional Formatting: Heatmap

ORG-18358Conditional Format ManagerChoose Worksheet: Conditional Formatting to manage and edit ranges with conditional format.
ORG-18773Auto fill column label row contents to the right

Double clicking the bottom-right corner of the cell with formula in Column label rows. The formula will be autofilled to all cells to the right.


Column List View

(Transposed view for metadata)

Choose View: Column List View menu to view a list of columns with associated metadata and sparklines. Data cells are not displayed. You can select column(s) in this list view and perform the usual graphing and analysis operations.

ORG-18166Copy non-continuous rowsBefore Origin 2019, when selecting non-continuous rows and copying and pasting, the unselected rows in between were copied/pasted as well.
ORG-19184Improve Mask cells by condition to support noncontinuous columns and row rangesHighlight noncontinuous columns or row ranges, select menu Column: Mask Cells by Condition to open colmask dialog, masks cells by your condition.
ORG-18351Support Hex numbers
  • Custom numeric display such that hex numbers can be used in worksheet cells/columns natively, without using Hex2Dec kind of conversion like in Excel. In Column Properties, set Display as Custom and then set Custom Display as %X or %0<#hexdigits>I64X e.g., %012I64X means 12 hexdigits. X can be in lower case.

HexDisplay.opju  demonstrates the power of using Custom Display Format of Numeric, as well as the various improvements



Custom numeric format more works
  1. Improvement for Latitude Longitude display format.
    General syntax is now like this:
    D[Space][M[S]][F/D][n] [EW/NS[B]]

    F/D: F to indicate not to include symbols and space is always inserted. D to indicate only exclude last symbol.
    EW/NS: EW for longitude, NS for latitude
    B: before the numbers. if not specified, will be after.

    Example: For decimal degree of latitude -3.03423

    DMD3 NS -> 3° 02.053 S
    DMS1 NSB -> S 3°02'03.2"

  2. Support direct editing in custom numeric format using Hex.



Numeric allow percent (%) and engineering notation
  • Type 12% will convert it into 0.12 automatically. You can disable it by system variable: @cap=0
  • Convert Percent (%) to Number when Copying or Importing ASCII or Excel Data with %
  • Type "1k" in a cell, then convert column to Numeric format will change it to 1000 automatically.
ORG-18382Copy and Paste Filter condition supportUser can select the Copy Filter from filter's context menu or select a filter condition in Filter cell and Ctrl+C to copy a filter, and then paste it to other column(s).
ORG-18525Press and scroll mouse wheel to view data

ORG-16420Split worksheet improvementsIn Split Worksheet tool, add a new option "Retain 1st N Columns" for "By Number of Columns"/"By Column Label" split mode to keep the 1st N columns in the splitting worksheet result.



Treat missing as blank Improvements
  • Missing values will show as blank in worksheet.
  • When importing excel file with empty cells, or copy and paste data with empty cells from Excel, 
  • Before Origin 2019, when copying some data with blank rows above it and pasting it to new column, blank rows were removed. In Origin 2019, they are kept.
  • If there are empty cells above the data, below data or within data range, click on it, status bar shows <i1:, >i2:, or nothing correspondingly. These empty cells will not be included in calcuation, statistics. 
  • When selecting a cell outside the data bound, status bar will show "<i1: "(begin) or ">i2: "(end).
  • Worksheet cell background color show differently if outside i1 i2 by default. There is a checkbox Indicate unused cells with a shaded background in Workbook Properties dialog. System variable @COR determines the darkening intensity.
  • i1 starts from 1st row unless set otherwise.
  • Delete data on last row will shrink data size (i2 updates)
  • Ctrl+delete to add missing value to a cell, in cases that user wants to make sure each column has same length. 

ORG-18938Masked status kept when copying and pasting data.

After pasting data into new sheet, masked data will be still masked. In the past, masked status was not kept.

A new system variable @CPM has been added to control the behavior, default value is 1.

1. Paste Transpose, Paste Link, Paste Link Transpose will not paste mask status.

2. Copy (full precision) will not copy the mask status.

ORG-18990Create Subset Sheet context menu to extract selected rows to a new sheet.

After manually select multiple rows or select multiple rows based on data highlighting feature, right click the selected rows and choose Create Subset Sheet context menu

Corresponding X-Function: wcopy.

ORG-19012Add "1 000.0" as numeric separators in Tools: Options dialog.In Tools: Options dialog, a newly entry "1 000.0" is added for Numeric Separators.
ORG-14386New XFunctions to join columns by plot designationA new X-Function coljoinbydesig is added to concatenates columns by plot designation. Right now, it's only available by script access.



 Block Recalculation

Clicking the the Relcalculate button on Standard toolbar will trigger the recalculation of all pending operations in Project.

Sometimes user may want to block some operations.

Click on lock and choose Block Recalculation to block it.

ORG-18710Hide Recalculation Locks on the graph

For analysis done on each plot, a lock is created under layer icon. If there are many locks, it's hard for user to view the graph.

Choose View: Show: Lock menu to uncheck it to hide locks in graph window.

Labtalk page property page.lock=0 to hide it.


Set default node's shrink/expanding status on hierarchical result sheet for each analysis

User can right click any node on result sheet and choose Save Node Configuration to save default node status of the analysis. Next time when you do such analysis, it will used the saved configuration. 

  • Useful feature for you if you want to print/export consistent reports from analysis
  • Each analysis tool can have its own default node configuration.


Better Batch Processing with Mulltiple files in Analysis Template

If user has multiple data files imported into multiple sheets but also have other reference sheet, etc., Origin 2019 can better detect import data worksheet and only import to them when doing batch processing. 

E.g. user import 3 files into 1st 3 sheets. 4th sheet is a reference sheet, some analysis is done and analysis template is saved.

When using such workbook as analysis template for batch processing 6 files, first 3 will be processed together; second 3 files will be processed together. 

ORG-18656Labtalk command nlbegin support to pick up error bar when fitting from graph
Active a plot with error bar then run the following labtalk script:
nlbegin func:=gauss; nlfit; nlend 1;
ORG-18756Support to define both 32bit and 64bit External DLLs in a fdf fileDifferent dll files will be loaded by the same function if it's name follows the below rules:
32bit: DLLname.dll
64bit: DLLname_64.dll
ORG-18333Support threshold as a certain value in peak finding

Support Peak Filtering method in PA


ORG-18118Use new Window View for preview on more analysis tools

Below analysis tool support:

  1.  XYZ (Log) Gridding
  2.  IIR Filter

 Matrix/Surface Fit


Add Excel Bicubic interpolation
  1. Rename the current Bicubic method in 2D Interpolate/Extrapolate tool to be "Bicubic Convolution".
  2. Add option "Bicubic Lagrange" (enum as "lagrange") as the last one in Method combo.
ORG-16862Output Adj. R-square and Pearson's r of a scatter matrix plot to a result sheet.Origin 2019 added "ScatterMatrixStats" worksheet to arrange Adj. R-square values and Pearson's r values of scatter matrix plot.
ORG-15972Set column as categorical for analysis tools related to groupingIf a column is mostly text and the column is used as grouping column for analysis tools, Origin will automatically set it as categorical so you can easily adjust result sheet orders.
 ORG-16862Output Adj. R-square and Pearson's r of a scatter matrix plot to a result sheetWhen Pearson's r or Adj. R-square is checked in Plot Scatter Matrix dialog, a new result sheet named ScatterMatrixStats will be created, with all Adj. R-square values and Pearson's r values in it.

Import and Export



Dialog Theme context menu Improvements for Import tools

  • Save Import Settings to Sheet is renamed as Save Settings for Drag and Drop – This context menu is to save import settings for future drag and drop data into the worksheet/template.
  • Save to <Sheet> context menu removed since we always automatically save import settings into sheet. 

ORG-2266Support Date Time Data with higher precision

Add three system variables:

1. @DSP: a project property, the date system in current project

  • 0: the current date system, +12 hours off from julian day system
  • 1: julian day
  • 2018: 2018 date system, 0 at 00:00 on Jan 1 2018

2. @DSO: the actual offset for the current date system, in day

And also, when the date system is 2018, Import Wizard support more higher precise date data, for example: When import time data like "2/5/2040 15:59:59.994983" using Import Wizard, can set Custom Date Format as "MM'/'dd'/'yyyy HH':'mm':'ss'.'######" to import.

ORG-15666Check new LibXL updateUpdated the new LibXL version 3.7.1 to Origin, so that Origin 2019 will support importing more higher version Excel files.
ORG-18352Import Wizard Support relative OC File Path for user defined typeImport Wizard Support relative OC File Path "<App Folder>" for user defined type.
ORG-18790Add system variable so that import with "Replace Existing Data" will really replace existing data

Added a system variable @IRE for import Excel file with "Replace Existing Data" Import Mode.

@IRE = 1(default): Replace the existing sheets in the active Workbook from the active sheet on.

@IRE = 0: Only replace the active sheet, and create new sheets to import following Excel sheets.

ORG-18853Data Connector for SQLAdded a system variable @sqli= to determine whether the menu and the tooltip on the DB icon in the top left of a worksheet are enabled. By default it is 0.


Support import HEKA newest instrument model version 1000Support importing newer HEKA file, up to version 2x90.3.


FAMOS import gets error about header not readableSupport importing newer FAMOS files that have the keys "NL" and "NV".


Improve TDMS Import to make it work with Batch ProcessingImprove Batch Processing to support TDMS files.
ORG-19093Ctrl+G hotkey to open Export Graph with previous settingsHotkey CTRL+G opens Graph Export dialog with <last used> theme. It used to open with system default theme. 
ORG-18170Add Zooming to expGraph Image PaneAdd zooming to image panel of expGraph that allows for zooming when raster is exported file type.




Support latest R 3.5.0

Provides LabTalk functions for Linear Fit

  • Slope(vector vx, vector vy)
  • Intercept(vector vx, vector vy)
  • Forecast(double x, vector vx, vector vy)




More LabTalk/SCV Functions Support

More LabTalk/SCV functions are supported (or improved) e.g.,

  • Integer-handling functions: Ceil(x), Floor(x), GCD(x1, x2,...),
  • Convert(xa,xb)
  • Engineering functions: Base(), Decimal(), BitLShift(), BitRShift()
  • Math functions: Combina(number, number_chosen), Permut(number, number_chosen), Permutationa(number, number-chosen)
  • Complex functions: Imcosh(c), Imcot(c), Imcsc(c), Imcsch(c), Imsec(c), Imsech(c), Imsinh(c), Imtan(c)
  • Financial functions: pDuration(rate, pv, fv), RRI(nper, pv, fv), Effect(nominal_rate, npery), Nominal(effect_rate, npery)
  • Statistical functions: Maxifs(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...), Minifs(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
  • Miscellaneous condition and switch functions:

    • IfNA(value, value_if_na), xor(logical1, [logical2],…)

    • if(con,val_true[,val_false]), if(con,val_true$[,val_false$])$
    • ifs(con1, d1[,con2, d2,]...[,con40,d40]), ifs(con1, str1$[,con2, str2$,]...[,con40, str40$])$
    • switch(expression, val1, res1[,val2,res2]...[,val39,res39][,default]), switch(expression, val1$, res1$[,val2$,res2$]...[,val39$,res39$][,default$])$
  • TextJoin(StringArray|String delimiter$, bool empty, StringArray text|String text1$,...)$
  • IsFormula(string ref$)
ORG-18795Improve Cell() function to get actual cell display stringExample: Enter 0.5 in the first cell of col(A), format as Time format. Now it shows "12:00". Execute "cell(1,1)$ =;" will return "12:00", while it returns "0.5" in previous versions.
ORG-18254command to create OPX file

InitFromIni method is added to OPXFile class to support using OriginC function to create app, so that user can easily creating opx without opening package manager dialog. this will be useful if user execute origin from command line or a windows BAT files.

note: this method require a source ini file which including all settings in package manager dialog.


#include <Origin.h>
#include <../OriginLab/OPXFile.h>
int test_ini_to_opx()
	OPXFile opx;
	int err = opx.InitFromIni("opx_IEVer.ini");
	if( err == 0 )
		if( !opx.Save() )
			printf("Failed saving.\n");
		printf("InitFromIni error %d\n", err);
	return 0;


HTML Mode for Notes Window

Support HTML mode for Note window:

1 . Labtalk is added to provide access to the active note page:

  • note.text$: get/set the text of active note
  • note.readonly = 0/1: switch readonly mode, default=0
  • note.syntax = 0/1: default=0, plain text, 1 means HTML syntax colored.
  • note.view = 0/1: default = 0, text editor, 1 means render with HTML browser

2 . Embed Various Origin objects into Note page's HTMLIntroduce a new mechanism for user to insert Origin Graph, Cell, Table(from report sheet) and Matrix image inside note window's HTML mode. the syntax will be like this: 

<ANY_HTML_TAG data-OLink="OriginLink">

 For example, to insert a graph preview to a note window, you should use graph type. e.g.

<div data-OLink="graph://graph1"></div>

See following table for the type of responding Origin objects:

3 . HTML Export As Web Page: Added a new menu on Note window's title bar, label as Save as Webpage..., this menu will only be enabled when the Note is currently in HTML mode.


Add GraphLayer::InsertPlot(int nIndex) method

Added an OC function to reorder the plots in Graphlayer.

int GraphLayer::ReorderPlots(const vector<uint>& vnIndices, int c1 = 0, BOOL bUndo = FALSE);

  • vnIndices: Specify the new order of the plots.
  • c1: The indice of the starting plot.
  • bUndo: Specify if support undo.


Big Integer and the Bit Operations Support

LabTalk now supports big integers which are higher than 32bit values (up to 52 bits), and their bitwise operations:
Conversion to an integer: int(), nint(), ceil(), floor()
Bitwise operators: (&(AND) and |(OR))
Bitwise functions: BitAnd(), BitOr(), BitXor(), BitLShift(), BitRShift()
  for example:
    Dec2hex(bitAnd(i,j),12)$=;     //==>0F0000000001
    Dec2hex(bitOr(i,j),12)$=;       //==>0F3111111111
    Dec2hex(bitXor(i,j),12)$=;      //==>003111111110
    Dec2hex(bitLShift(i,3),12)$=; //==>788808080808
    Dec2hex(bitRShift(i,3),12)$=; //==>01E220202020


OC and LT access to Dataset Storage

Support LT and OC ways to the size of Dataset Storage, for example: Add a Dataset Storage and then run following code to get size:

LTlist -st;

OC: GetBinaryStorage(NULL, NULL, &nSize);


Improve JSON::FromString() & JSON::ToString()

For JSON::FromString(): support converting Javascript array to arbitrary Origin C vector types, for example:

string strvs = "[\"hello1\",\"hello2\",\"hello3\"]";

vector<string> vs;

JSON.FromString(vs, strvs);

For JSON::ToString(): support convert Origin C vector to Javascript array, lfor example:

vector<string> vs = {"Chris", "Zheng", "Aviel", "Hideo", "Yiming"};

string str;

JSON.ToString(vs, str);


Build OriginExt for more Python VersionsBuild a new OriginExt for Python 3.6 version.
ORG-18391Support inserting a link to a matrix book or sheet


  • matrix://MBookName: Insert a link to a matrix book, given by MBookName, so the matrix book will be displayed in the current worksheet cell. 
  • matrix://[MBookName]MSheetName: Insert a link to a matrix sheet, given by MSheetName, so the matrix sheet will be displayed in the current worksheet cell. 

(Note: Insert a link to a matrix object syntax is matrix://[MBookName]MSheetName!MatrixObjectName, which is already supported before Origin 2019.)

ORG-13080New worksheet switch to select column label row in worksheet


worksheet -sl c1 r1 c2 r2


Need export a function to convert the date value from/to system time

Added two functions to convert the date value from/to system time for inner python: Date2datetime() and Datetime2Date()

For example:

import PyOrigin
dateT = PyOrigin.Date2datetime(2458310.5811)
date = PyOrigin.datetime2Date(dateT)


OC font file path

Added a new OC function to get font file path:

int okutil_get_font_file_names(StringArray *psaResults, LPCSTR lpcszFontName);

psaResults: Return all the font file name.

lpcszFontName: Specify the font name,


OC functions wanted for Batch Plotting

Added two new OC functions for batch plotting:

int GraphPage::GetDuplicateWithData(StringArray &saItems, const DuplicateWithDataInfo& info);
int GraphPage::AddDuplicateWithData(StringArray &saItems, const DuplicateWithDataInfo& info);
ORG-18707OriginC OC JSON add Tree support

Improved OC function JSON::FromString to support converting JSON string to oc tree, and added a following OC function to get tree vector:

BOOL TreeToVector(TreeNode& tree, vectorbase& vv, LPCSTR lpcszTagName = NULL)


COM interface to allow full search ability for Origin Project Files

In Find in Project dialog:

  1. The keyword to search is highlighted in the found item.
  2. Show Comments on the pop up preview dialog.
  3. Show Graph preview for the graph item.

COM Interface:

  1. Added new Origin.Application COM class OriginFinder, more information see http://wikis/ocwiki/index.php?title=Category%3AOriginFinder_(OriginCOM).


OC issues related to getting data from the internet

1. New following OC function to read text file:

BOOL ocu_read_text_file(LPCSTR lpcszFilename, string* pstr);

= [input] full path file name
= [output] resulting file content as a string
    FALSE if file not found

2. Improved OC function Column::SetFormat to support setting column custom format, for example:

void setcolumnformat_ex()
    Worksheet wks = Project.ActiveLayer();
    Column col1(wks, 0);
    col1.SetFormat(OKCOLTYPE_DATE, "yyyy'-'MM'-'dd");
    Column col2(wks, 1);
    col2.SetFormat(OKCOLTYPE_TEXT_NUMERIC, "DMS2");
    Column col3(wks, 2);
    col3.SetFormat(OKCOLTYPE_TIME, "hh mm ss'.'##");


New OC funtion to get list of installed fonts

Added following  OC function to get the name list of installed fonts:

int GetFontNames(vector<string>* pstrNames, BOOL bIncludeDefFont = TRUE);
pstrNames[output]:font name list.
bIncludeDefFont[input]:whether include origin default font.
Count of font names


http_get_str Fails to Return Response Body as String w/ Certain URL

Added following OC functions:

int okutil_http_download(LPCSTR lpcszURL, LPCSTR lpcszFileName, int nConnectTimeout = 0, int nResponseTimeout = 0, BOOL bIgnoreCertError = FALSE);

int okutil_http_get(LPCSTR lpcszURL, string *pstrResult, int nConnectTimeout = 0, int nResponseTimeout = 30);

int okutil_http_post(LPCSTR lpcszURL, LPCSTR lpcszRequestData, string *pstrResult, int nConnectTimeout = 0, int nResponseTimeout = 30);

DWORD okutil_http_error();

DWORD okutil_http_status();

More information see http://wikis/ocwiki/index.php?title=Category%3ANetwork_(global_function)


New OC method to scale the font size and line thickness when page size changes

Improve LT command "page -AFU -newWidth/oldWidth;" to support scale the font size and line thickness when change page size by oc way.

For example:

void SetPageSize()
	GraphPage gp = Project.ActiveLayer().GetPage();
	Tree tr;
	tr = gp.GetFormat(FPB_ALL, FOB_ALL, true, true);
	double dOldWidth = tr.Root.Dimension.Width.dVal;
	tr.Root.Dimension.Width.dVal = 5;
	tr.Root.Dimension.Height.dVal = 5;
	if(0 == gp.UpdateThemeIDs(tr.Root))
		gp.ApplyFormat(tr, true, true);
	string strScript;
	strScript = "page -AFU -" + 5 + "/" + dOldWidth;
	strScript = "menu -e 33027;";


Build OriginExt for more Python VersionsImprove OriginExt packager to support calling Origin COM for python 3.6.


HTML Table support internal and from OC

Support getting HTML table by OC way, for example:

void	html_test()
	OHTML doc;
	BOOL bRet = doc.ReadFile("c:\\temp\\html\\test.html");
	if( bRet )
		StringArray headers, data;
		int nTables = doc.GetTableCount();
		for(int table=0; table<nTables; table++)
			string strCaption;
			bRet = doc.GetTableCaption(table, strCaption);
			int nRows = doc.GetRowCount(table);
			int nCols = doc.GetColCount(table);
			for(int col=0; col<nCols; col++)
				bRet = doc.GetColHeader(table, col, headers);
				bRet = doc.GetColData(table, col, data);


Code Builder should be able to inspect the values declared inside the loop

Support to detect the variables inside the loop and list them in the variables list when debug in Code Builder.

For example: debug the following LT script in Code Builder.

doc -e LB 
  double x = 1.5;
  Col(2) = Col(1) * x;

It will show x variable in Variables window.


Tree-like datatip in Code Builder to show variable structure for debuggingWhen debugging OC code in Code Builder,and move the mouse over a variable name, a simple tooltip pops up to show the value of it.
ORG-18678Color Picker XF needed

 Add new XF, name = colors

OC added as

bool ColorsBox(COLORREF* pcr);

LT command as

ed -c [color]

LabTalk function needed to convert ocolor to RGB,

int ocolor2rgb(int ocolor);

ORG-18404More work on @MRUSystem variable MRU support enable user template (MRU=8) and recent file (MRU=16)


GetN GETN_OPTION_NUM_FORMAT to support Custom Numeric Format

Added GETN_OPTION_NUM_FORMAT function to custom Numeric format, for example:

#include <GetNbox.h>
void test()
    GETN_TREE( treeTest )
    GETN_STR(test1, "Str Value", "junk")
    double xx = 0.5*PI;
    GETN_NUM(testVal, "PI Test", xx)
    GETN_OPTION_NUM_FORMAT( "* \"pi\"" )
    if( GetNBox( treeTest ))
        out_tree( treeTest );

Installation and Licensing



Customize Installation and File Path

Config.ini under setup.exe folder to

  1. prefill settings in installation. This is useful for group users. Manager can set Serial number, Installation Path, install 32 bit or 64 bit, etc. in config.ini file. Subsequent users just run setup.exe to do a silent installation. Together with PK.txt under setup folder, IT can auto install and license Origin.
  2. preset license information, e.g. flexnet server name and port number.
  3. preset User Files folder, Apps folder, AutoSave, backup, etc. folders so no dialog opens on first launch of Origin. 
ORG-18858"About Origin" dialog improvements
  1. Added the "Check Available Licenses" button to get license information for Individual License.
  2. Added the "Citation Text" button to dump a string for citation to messages log.


ORG-18569GUI changes in miscellaneous tab of tools options dialog
  1. Add Proxy Setting control.
  2. Move Bisection Search Points to Graph tab.
  3. Move Footnote Size Ratio to Text Fonts tab, and rename it to Footnote Size Ratio in Analysis Reports


Backup, Autosave, Unsaved from User Files Dialog
  1. If user has already customized their paths (customization can be via registry per Tools Options, or can be via config.ini), then DO NOT show any choices. Just use the customized locations
  2. Otherwise show the following radio choices:
  • Same level as UFF
  • Under User Files Folder (UFF)
  • Under "%s" // (show actual default root path)
ORG-18729Shortcut window improvements
  1. Shortcut window keep own state (position, size) if adjust the source window
ORG-14132Menu toolbar locking