Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Graphing

New Graph Types

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25247

Double-Y on the same Layer

Specify which Y-axis to plot against for multiple plots on the same layer.

  • Double-Y in one layer menus under Plot: Multi-Panel/Axis

    Image Added
  • Specify plotting against left or right Y using the Mini Toolbar.

Image Added
  • Display tab in Plot Details

Image Added
  • Option to rescale each axis independently (default checked)

Image Added
  • Subgroup by axis

    Image Added
  • LabTalk properties

set %c -ay 2; // set active plot to follow second y axis

layer.y.IndivScale = 1; // allow rescale each y axis individually

layer.y2.from=1; // setup 2nd y begin value

layer.y2.to=20; //setup 2nd y's end value

ORG-16520, ORG-25110

Before - After Graph and Double Y Box Chart

Easy way to plot Before After Graph and Double Y Box Chart

The Double-Y in one Layer feature makes plotting Before After Graph and Double Y Box Chart much easier in Origin 2023. Note: Line Series is a variation of box chart.

After plotting Line series or box chart, click on the line series or box(es) and use mini toolbar to select Plot on Right Y. Note: For plots already set to plot on right Y, the mini toolbar button will be changed to Plot on Left Y.

The mini toolbar button is also available when choosing plot(s) in Object Manager. (L) or (R) indicator shows in front of plot to indicate current axis assignment.

Before and After

Image Added

Double Y Box Chart

Image AddedImage Added

ORG-18926

Vector Plot in Ternary Vector

Support Vector Plot in Ternary Coordinate

  • Use XYZXYZ data to create a Ternary Vector plot. Each XYZ pair defines the initial and terminal points of a vector

  • Z End to End Point tab added

  • Label tab turned on from options in X/Y/Z/Row Indices/(X, Y, Z)/Custom/Col

Image Added

ORG - 24531

3D Stacked Heatmap

Support a new plot type 3D Heatmap with flatted surface and fill to grid.

Image Added
  • To plot the graph, need have XYZ data and another reference column to split the XYZ columns into different groups (layers in graph).

  • XY data should be M x N gridding. Origin will convert each XYZ block to a matrix using the Regular gridding method. If the data is not regular, the Sparse gridding method will be used to convert the XYZ data.

  • The Stacked Heatmap can be created from either a worksheet or matrix.

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25449

Improvements on Export Graph (Advanced)

Added hotkey Ctrl+Alt+G to export with last used theme. Added a clickable link on messages log to view exported graph

  • With a Graph window active, press Ctrl+Alt+G to export graph with last used theme without opening the dialog.

  • After exporting a graph, the file path is dumped to the Messages Log and is clickable to view the exported graph

    Image Added
  • System Variable to control output to message log.

0 = message with file path
1 = Only dump file path
-1 = no output on messages log

  • Use the Context menu or Ctrl+Click to open File location in Windows Explorer.

  • If set @VID=1, click the link in Message Log, it will open with build-in viewer. @VID=1 is by default. It will check file for png, bmp, jpg, emf, then use internal viewer, otherwise still use system

ORG-25233

Toggle layer, plot & graphic object’s selectability

LabTalk command and mini toolbar button to set whether or not layer, plot, or graphic objects are selectable.

  • Set plot, graphic object or layer to be unselectable to prevent selecting it in graph and editing it with mini toolbar, regular toolbars, etc.

  • Clicking the item in Object Manager is always supported. The Mini toolbar button can be used to turn selectability back on.

  • Corresponding LabTalk property for graphic objects object.mouse=0 not selectable or 1 selectable

  • For layers in graphs, selectability can also be globally (it is an Origin setting) prohibited by setting @GRLS=0.

    Image Added

ORG-25555

Multi-layer graph arrangement direction

Choose Horizontal First or Vertical First when arranging multi-panel graphs.

Direction control in Merge Graph Windows, Merge Graphs to Layout, Arrange Layers, and Layer Management dialogs.

Image Added

Example 1: When merging 6 graphs into a multi-panel graph, e.g. 2 x 3, there is now an option to specify arranging horizontally first or vertically first.

Example 2: Suppose there is a 2 x 3 panel graph which was arranged horizontally first. Choose Graph: Arrange Layers… to switch the number of rows and columns to 3 x 2 and Direction: Vertical First—the panels will be transposed.

Image Added

ORG-25430

Set default reference line style

Right click reference line to set it as default reference line style for future use

Origin 2023 supports saving a customized reference line format as a default style. When adding reference lines in the future, it will use these settings.

  • Right-click reference line in Reference Lines dialog to set as default line style.

    Image Added
  • Right-click a customized reference line in graph and choose Set as Default Line Style

    Image Added

ORG-21351

More reference line label locations

More label location options for reference lines

More Label Location options in Reference Lines tab in Axis dialog.

Image Added

Options in older versions:

Image Added

Also on mini toolbar when clicking on reference line in graph.

Image Added

ORG-25452

Add Reference Line on axis with divide by factor

Use converted value to add reference line and label

If Divide by Factor is set for tick labels of axis, the tick labels on the graph will show the converted value.

When adding a reference line, use the converted value.

When checking Label for reference line, show the converted value.

E.g. For scales from 0 to 10, if the tick label is set to have divide by a factor of 100, the tick labels will show as 0 to 0.10.

Please add reference line based on tick label range displayed in axis. E.g. 0.035.

When reference line label shows, it will show 0.035. Used to show 3.5.

In older versions, when adding reference line 0.035, on axis dialog, it converted it to 3.5, and it was confusing since the value wasn’t within the display range of axis.

ORG-25466

Stack plot improvements

Support stacking plot horizontally without exchanging XY Axis

Choose Plot: Multi-panel/Axis: Stack… menu

Plots can be stacked horizontally without exchanging X-Y axes. It works well with Orientation: Landscape.

Note: In previous versions, there were only Vertical or Horizontal(X-Y Axes Exchanged) options.

Image Added

ORG-24990

Batch Plotting Short Name

Better handling of Batch Plotting Short Name numbers

A Short Name starting with G09 will increment to G10 instead of G010.

ORG-20137

Data highlight mode when switching to worksheet

System variable to quit data highlight mode when switching to worksheet

Set System Variable @QDHT=1, data highlight some data points in graph and switch to worksheet, escape the data highlight mode and allow to plot directly with partial data selected.

Default value is 0, data highlight mode kept when switching to worksheet.

ORG-24869

Adjust the size of minor tick labels

Font Scaler (%) control on Minor Tick Labels tab

Set minor tick label font size to be relative to major tick label font size.

Image Added

ORG-25350

Fit Layers to Page more accurate

Boundary is more accurate after fitting layers to page and LabTalk command is added

The margin for Fit Layer to Page is more accurate in graph.

Added LabTalk commands to specify each margin separately.

Code Block
-ml value // for left margin
-mt value // for top margin
-mr value // for right margin
-mb value // for bottom margin

All the margin values can be negative, if necessary. For example, using the following will make the graph look tighter to also accommodate for text object rectangles of the axis titles being too large.

Code Block
page -FLS -u -c 3 -ml -0.005 -mt 0.001 -mb -0.005 -mr 0.001

ORG-25023

Keep Graph and Worksheet size in layout window when copying and pasting

Hold Alt key and then paste graph or worksheet in layout to another layout window to keep the size

Added the hot key Alt when copying and pasting images, graphs, and worksheet objects among layout or graph windows.

Hold Alt while pasting graph or worksheet objects from one layout to another will retain the size properties of the copied selection.

ORG-25375

Column/bar type in plotmyaxes Dialog

Support Column type in Multiple-Y Axis plot

In plotmyaxes dialog (menu: Plot>Multi-Panel/Axis: Multiple Y Axes)

Plot Type “Column“ is supported

ORG-25145

Move data point improvement

Keep plot customizations when moving data points

In previous versions, choosing Data: Move Data Points, causes plot customizations to be lost. Plots changed to default black symbol.

In 2023, press Tab to toggle between using default scatter symbol or customized symbol.

ORG-22648

Build Color improvements

We can interpolate according to selection, by group and merge color lists/ palettes.

Added Base Color radio option, with All and Selection as options. All means all color in build color dialog. Selection means current selection in the left panel of build color.

  • If there is only one selection, no need to show this option.

  • If the selection is not continuous, new colors should be from the 1st selection.

Support Interpolate by group option. Can now specify number of group members, and interpolate within group.

When selecting more than 2 color lists/palettes in the left or right panel of the Color Manager, right-click will show a Merge Colors option.

ORG-25527

Replace 3D/Contour plot with another matrix

Support replacing 3D/Contour graph with another Matrix dataset in Plot Setup dialog

The ‘Replace’ button was disabled in the Plot Setup dialog which disabled replacing 3D/Contour plots data with another matrix dataset.

The button is activated now in Origin 2023.

ORG-25612

Object manager Improvements

Rename layer names and etc.

  • Rename context menu is added on layer node to rename layer. In the past, user would have to go to Layer Management dialog or Plot Details dialog to rename layer.

  • When all layer nodes shrunk and group/ungroup plots in one layer will not expand other layer nodes.

ORG-24785

LT access to Minor Tick Length and Thickness

New LabTalk property to access minor tick length and thickness

Code Block
layer.x.ticklength //major tick length
layer.x.tickthickness //major tick thickness
layer.x.mticklength //minor tick length
layer.x.mtickthickness //minor tick thickness

ORG-25621

Go to Source Sheet button on plot mini toolbar

Click the Go to the newly added Go to Source Sheet mini toolbar button to activate the sheet of plot

There used to be Go to workbook context menu to go to source worksheet.

In Origin 2023, a button is added on plot’s mini toolbar button to go to source worksheet.

For grouped plots, click the single tab of mini toolbar button to see the button. Or click the plot in Object Manager, the single tab of mini toolbar will show by default.

Image Added

ORG-23908

Ability to change font/sizes on axis labels and axis titles simultaneously

Apply Formatting to: Font/Font in mini toolbar

  1. Apply Formatting to: Font. All text in graph will change as current font

  2. Apply Formatting to: Font and Size. Only same type will change as current font and size

Same type means:

  • axis title: YL YR XT XB ZF ZB

  • layer title: _Title

  • layer label: plabel

  • reference line label: RLX RLY RLZ

  • normal text object: object name begin with text

ORG-24587

Insert Map to Graph

Add system variable @MDF to Hide Map folder in Project Explorer after Insert Map

Add system variable @MDL to hide Legend after Insert Map for Contour plot

  • System variable @MDF to hide Map folder in Project Explorer after Insert Map

0 = Hide Map folder (by default)

1 = Show Map folder

  • System variable @MDL to hide Legend after Insert Map for Contour plot

0 = Hide Legend (by default)

1 = Show Legend

ORG-19342

ORG-25747

Support Higher Resolution bitmap toolbar

In Customize: Options tab, support Auto detect by screen size, for high DPI PC, now use 32*32 icon

Support system varibale @TIZ to scale icon in range [50 200], 100 by default

Image Added

Text, Legend and Annotation

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24917

Layer Title Improvements

Center alignment, wrap text, etc.

Mini toolbar on layer level to add Layer title. A new text box similar to those in PowerPoint and Word will be added. It is center aligned horizontally and wrap text is enabled. The size of the box is defined instead of determined based on wrap text result. Changing the font size will keep title box width. It’s much easier to set title width and align it.

Image Added

Click on the layer title, and then the mini toolbar button to set box width

Image Added

LabTalk property to show/hide layer title:

layer.title=1 (show) or 0 (hide)

Wrapped layer title or text box width:

  • _title.box=80 //default, title box width is fixed to 80% of layer width. Click on layer title. Box width button is added on mini toolbar to set width. The button only shows if _title.box is bigger than 1.

  • _title.box=1 //Powerpoint/Word like text box but can drag the handles around box to resize it.

  • _title.box=0 //old text object. The size of text box can’t be very precise, It will be decided by wrap result. It’s hard to position text in expected position especially if contents change.

This <textobject>.box property also applies to regular text object and legend box. By default, it’s 0 though. The box width mini toolbar also only shows if <textobject>.box value is bigger than 1.

ORG-25630

Page Title

Mini toolbar button on page level to add a center-aligned title on top of graph

  1. New mini toolbar on page level. A new text box similar to those in PowerPoint and Word will be added. It’s center aligned horizontally and wrap text is on. Size of the box is defined instead of based wrap text result. Change font size will keep title box width. It’s much easier to set title width and align it.

    Image Added
  2. By default the size is 70% of page width. Click it and use mini toolbar to change width.

    Image Added
  3. Labtalk access: The page title name is _PTITLE. Use _PTITLE.box to set width, etc. similar to layer title.

ORG-24822

Angle Annotation

Measure the angle between two lines and annotate it

Select Angle Annotation toolbar button.

Image Added

Single-click 3 times to pick arm, vertex and the other arm. If an arm is close to a data point, it will snap to it.

Image Added

Click angle and drag anchors to adjust.

Mini toolbar for angle and label for common edit.

Double-click angle or right click and choose Properties to see all options.

Double-click to modify the syntax, e.g. $(v, .3) to show 3 decimal places, $(v*pi/180, .2) to convert degree to radian and show 2 decimal places.

ORG-25362

Custom format to show plus sign for number

We can show positive or negative sign in custom format

In custom format. Add more options to show signs for numbers:

.3 ----- 3 decimal places. old way
+.3  ----- 3 decimal places, always show sign for numbers, if positive, show +, if negative, show a short minus sign -
-.3 ----- 3 decimal places, if positive, no sign, if negative, show LONG minus sign
-+.3 -----  3 decimal places, always show sign for numbers, if positive, show +, if negative, show a long minus sign -

ORG-25376

Show Function Plot and Equation in Legend or Label Improvements

Function plots, used to shows F1 in the legend. Now it shows the Function Formula

Image Added

ORG-25289

Restore Positon under Graph: Legend menu

Add a submenu under Graph: Legend: to restore legend position

Selecting it would not change user’s customization in legend but move it to default legend position in graph template.

ORG-25354

Hide Legend for Function Plots

Option to hide function plot entries in legend

In previous versions, function plot would always show in legend. In Origin 2023, a context menu is added to Hide Function Plots in legend.

Image Added

ORG-25355

Avoid using Function plot as Axis title unless it’s the only plot

Data Plot Index for Auto Axis Titles should exclude function plot unless it's the only one

When there are multiple plots (no matter data plot or function plot), Origin uses the 1st plot’s long name, unit as axis title. See the Data Plot Index for Auto Axis Titles dropdown list on Legends/Titles tab of graph node of Plot Details dialog.

So if the function plot is the 1st plot in graph window, F1 will show as axis title. In Origin 2023, we will skip using function plot as axis title unless it’s the only plot in the graph.

Use system variable @FPT=1 to roll back to the old behavior.

ORG-24719

Sort Point by Point legends

Options to sort point by point legend by X, Y, or alphabetical order

In previous versions, when displaying point by point legend, it would always show by row index order.

Sort by options are added to sort by Alphabetical Order, X or Y.

Image Added

ORG-16929

Add Color block in Legend

Add User defined color block in legend

Can now add user-defined color block in legend

  • Right-click Legend and choose Properties to open Text Object - Legend dialog.

  • Click Add Legend Symbol button.

  • Check the newly added Color Block node in Add legend Symbol dialog and customize as you like.

  • Click Add.

  • Add Text at the end of the inserted symbol.

Image Added

ORG-25300

Symbol Map Dialog Improvements

Gear icon on top-right corner of the dialog to manage symbols on each tab

Image Added

  • Add… - Opens a small dialog to enter space separated Unicode codes. Found symbols will be appended to the end of current tab.

    Image Added
  • Delete… - Opens a small dialog to enter space separated Unicode of symbols you want to remove from current tab. Or click Select button to pick symbols to remove.

    Image Added
  • Reorder - Drag cell to reorder it. click Done button to accept the change. Note: In this mode, all other operations are disabled.

  • Reset to Factory Default - Reset the current tab to default symbols shipped with product.

  • Append from Factory Default - If you have deleted some symbols shipped with product, select this will bring them back to original location, while still keep those you added at the end.

ORG-22079

Support UTF32 for custom Unicode Symbol

In Symbol Map: Add Symbol dialog, enter UTF-32 unicide symbol to custom

Image Added

ORG-25285

In-place edit for wrapped text object

For wrapped text, if not long, double click will enter in-place edit mode. For very long text, open Text Object dialog

  • Previously, if text was wrapped, double click it would always open Text Object dialog. In Origin 2023 System Variable @TLIP (default 80) is added. If text length is not more than it, double click will allow in-place edit.

  • Previously, if text wasn’t wrapped, double click would always enter in-place edit mode. In Origin 2023 System Variable @TLIPN (default 60) is added for text not wrapped as well. If text length is longer than it, Text Object dialog will open.

ORG-23765

More bracket shapes

Round and brace bracket shapes added

  • Dropdown list to pick which bracket/brace to add on Add Object to Graph toolbar.

    Image Added
  • Use the Mini toolbar to change bracket shape.

    Image Added
  • Drag the red anchors for curvation and brace.

    Image Added

ORG-25512

Improve Worksheet Cell Substitution Format

Keep cell display format in column labels and when using plot index when using W as last argument

When referring to a worksheet cell in a text label in a graph

  1. Keep display format in column label cell: e.g. using %([Book1]Sheet1,@WL, B[D1],W), to show user-defined parameter 1 in column B as label, where last argument is w, it will keep display format in that cell

  2. Keep display format when using plot index to specify a worksheet cell. E.g.

  • Using %(1, @WT, 2, 4, W) - 1st plot’s worksheet, 2nd column, 4th cell, using display format.

  • Using %(1@W,2,D1,W) or %(1@W,2,D”mean”,W) - 1st plot’s worksheet, 2nd column’s 1st user-defined parameter, or user-defined parameter row which is named “Hello”, where last argument is w. It will keep display format.

  • Image Added

ORG-24940

Separator button added in Text Object dialog

Add Separator button on Text tab of Text Object dialog to easily add an extra space between lines

Added a separator option for all text labels in graph, including legend, axis title, etc.

Image Added

ORG-14802

Box Chart Legend with Box Style

Add New box chart legend style. And you can customize the box scale via control dialog.

  1. In the Box plot, box scale could be added in any of the following ways: Select Insert: Box Scale in the menu, or click the Add Box Scale button on the Add Object to Graph toolbar

    Image Added
  2. Box Scale Control dialog: This dialog is used to control and customize the style of the box scale.

  • Double-click on the box scale to open the dialog. Or right-click on the box scale to select Properties... from the context menu to open it.

  • In the box scale, it shows Box Range, Whisker and Median by default. And the displaying of other symbols that depends on they whether selected in the Plot Details dialog.

  • And label of these components whether to show that can be controlled in this dialog. Except Box Range, Whisker and Median, if the symbol is not selected in the Plot Details dialog, the label option also will not show in this dialog.

  • Image Added

Graph Customization

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25363

Plot Data by Sorted X

LabTalk command to change line plots by worksheet order or sorted X

Perform automatic X value sorting of data in line or line-symbol plots without having to sort the worksheet columns. This is particularly useful when you have multiple columns in a worksheet and want to plot any two columns against each other, without having to reorder the worksheet rows.

Apply x value sorting to a particular data plot with this LabTalk script command:
layer.plot1.line.sortx=1; //sort X of 1st plot in current layer

Once sorted, the graph can be saved as a template for future use, if desired.

Image Added

ORG-25298

More skip data points options in plot

Smart skip point options based on data density and shape

For scatter plots and line+symbol plots, go to the Drop Lines tab.

Two Smart Skip options are added:

  • Smart Skip (Total Points Kept) keeps the number of points set and skips the other points based on data density and shape.

  • Smart Skip (% of Points Skipped) keeps the percentage of points set and skips the other points based on data density and shape.

    Image Added
Image Added

System Variable @SMM determines the method used for Smart Skip:

0: Largest Triangle

1: Y-threshold

2: Data Distance Threshold

3: Douglas-Peucker-Hull

4: Largest Triangle for Segments(default)

LT controlled can be used to specify starting skip points. In the example below, 10 means start to perform skip from the 10th row in the workbook data.

Code Block
layer.plot1.symbol.skipstart=10

ORG-25213

Enable auto rescale on Mini Toolbar

Auto Rescale control for 2D and 3D layer level mini toolbar.

Once it’s enabled, when data are changed, graph axis will auto rescale to reflect it.

Previously needed to go to Axis dialog to set the rescale mode to Auto.

Or click the Rescale button (Ctrl+R) to manually rescale to show all.

For 3D, it’s a dropdown list

Image Added

For 2D, it’s a checkbox

Image Added

ORG-25580

Alternate Sides to Show Ticks and Labels

For multi-panel graphs arranged in 1 row or 1 column, added option to alternate sides to show ticks, tick labels and axis title

Use Alternate Side to Show Ticks and Labels Checkbox is added in:

  • Stack… plot dialog

  • Merge Graph Windows dialog (if either the number of columns or number of rows is 1)

  • Arrange Layers dialog

Image Added

ORG-25214

Smaller Z axis length Allowed

Extended minimum Z axis length to 10%

In previous versions, Z axis length could only be as small as 25% of full length. In Origin 2023, the minimum value can be as small as 10%.

Image Added

ORG-25374

Contour Plot Improvement

Insert multiple levels and customize single level’s label style

  • Insert… button to manually add multiple levels

    Image Added
  • Add Auto to plot level label color option of contour plot. Auto means follow contour line color.

  • Single click on contour line twice to select that level. Mini toolbar shows to customize line, label and extract contour line’s coordinates of that level.

    Image Added

ORG-25610

Set different spacing gap for different sets of linked layers

For each set of linked layers, different spacing can be set

E.g. In the following graph, the column/bar width and gap in top (layer 1) and bottom panels (layer 2, 3&4) can be set to set differently.

  1. Check Column/Bar/Box Gap Across Layers on Layers tab of Page level so column/bars in overlapped layers 2, 3&4 will be organized together.

  2. Set Layer 2 to not be linked to layer 1. Set layer 3 and 4 to be linked to layer 2 with straight 1:1 x-axis. So there are two sets, Layer 1 vs Layers 2, 3&4

  3. Pick plot in 1st layer and go to spacing tab to set column/bar width and gap.

  4. Pick plot in 2nd layer (parent of 2nd set of linked layers) to set column bar width and gap of layer 2, 3&4.

Image Added

@GALL=1 by default, 0 is for old behavior

Notice that we need to be enable Column/Bar/Box Gap Across Layers if want to share same spacing setting

In older versions, the spacing tab is only enabled for 1st layer in whole graph and it will affect all layers. If setting the column/bar width on top panel to be narrower, the bottom 2 columns will be very thin.

Image Added

ORG-25147

Sunburst/Doughnut Improvements

Modify independent ring width in doughnut and sunburst plots

In doughnut or sunburst plots, set Group Edit Mode to be Independent and then select a single ring to set independent width.

Image Added

Image Added

The following settings dependent or not in Independent mode is controlled by system variable @PGI

0 (default) - dependent/shared.

1 - independent (it's rare since usually they will share same gap, rotation, etc).

  • Horizontal Offset (sunburst and doughnut plots),

  • Rotation group (sunburst plot)

  • Doughnut group (sunburst and doughnut plot)

3D View group on the Pie Geometry tab of the Plot Details dialog are hidden in Origin 2023 since 3D doughnuts are not supported.
It is hidden to avoid confusion.

ORG-25537

Box chart Improvements

Set %c -hadj 0 to set no gap between half violin or split violin to center

Image Added

Note: If it’s multiple layer graphs, it needs to be set for each layer.

ORG-25020

Color Each Data Point in Grouped Box Chart Types with data points showing

When plotting Grouped box chart with data points showing, Data Points Color by option is added.

Under Plot: Categorical menu, there are multiple variations of grouped box chart, e.g. Grouped Column - Scatter, Grouped Mean Bar - Indexed, Grouped Half Violin - Indexed, Grouped Half Box - Indexed, they all open plot_gboxindexed dialog. User can also change it by change the variations by Graph Theme dropdown list in the dialog.

As long as there is data points showing, Data Points Color by control will show for user to specify which column will be used to color the points.

The following graph also set legend to show Categorical Values so coloring info. show in legend.

Image Added

ORG-25188

XY coordinates issues on special NetCDF

Support XY Coordinates Mapping on Matrix for heatmap plot

Image Added

ORG-25567

Add Line Connect style such as Spline to 3D line symbol plots

In Line tab of 3D scatter plot/trajectory/vector, we can add Connect option on top of Style. dropdown could be Straight/Spline/B-Spline. Default is Straight. Spline/B-Spline should be same as Cubic Spline/B-Spline in interpxyz XF.

If it is not available to do analysis, data points will be connected with straight line.

It is not supported for 3D Ternary/Tetrahedral scatters plot.

ORG-25085

Gradient filled colormap bar

In Pattern tab, add More Colors option in Gradient Fill dropdown.

Select the More Colors option to show the Palette option.

For column/bar/histogram/area/ribbon/wall/waterfall plot, add checkbox By Y Value after gradient fill, enable when gradient fill is not none. For 3D Bar, the label could be By Z Value.

ORG-20843

Improvement of color scale object size

  1. Support Color Scale Position in Color Scale Control dialog.

  2. Support drag object edge to resize width of color bar.

ORG-25793

want specify 3D plane position by cell value named range

We support to use project scope named range for Percent/Value edit box

  1. define project scope named range

  2. make 3D plot, open PD dialog, go to layer level, planes tab, select one plane, then you can set at position=named range

  3. named range also can be used as formula in 3d function plot

ORG-24709

Add distribution name and parameters to graph for histogram plot

Add checkbox Show Parameter Table on the right side of Curve Type in Distribution tab.

When the option is enable, parameter table will show on top-right corner of the graph, with curve type, parameter name and its value.

ORG-25305

Template Library supports reorganizing users templates

Template Library support moving and rearranging multiple user templates to new categories in a time

In Manage Mode of New Template Library, a new button named Category is added. Select multiple templates and click Category button, a small dialog with Category dropdown pops up. You can create new category or select existing category. then ok with this dialog will change category for selected templates.

Data Handling

Worksheet

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22637

Banded Rows or Columnsin Worksheet

Alternate row column fill color

Click on upper-left corner of worksheet to turn on/off banded rows

Image Removed

Labtalk and set Banded Rows Color and show color on even or odd rows.

Set Default Banded Row Colors.

Image AddedImage Added

LabTalk property for worksheet:

wks.band=

  • =0

- off or 1 - on
  • , Off

  • =1, Odd Rows

  • =2, Even Rows

wks.bandcolor access the banded row color

ORG-22868

Freeze Panes

Freeze rows and columns in worksheet

Freeze row or column makes navigating worksheet much easier.

Image Removed
  • View: Unfreeze/Freeze Panes menu

  • Click a single cell, column or row and use mini toolbar to freeze panes

  • Click upper-left corner of worksheet to unfreeze panes

Image RemovedImage Removed

Analysis

Programming

up to 10 beginning rows and columns to keep them visible while scrolling in worksheet

  • If a column header is highlighted and freeze pane is used, Origin will freeze all columns to the left of it

  • If a row header is highlighted and freeze pane is used, Origin will freeze all rows above it.

  • If a cell is selected and freeze pane is used, Origin will freeze all rows above it and columns to the left of it

Image Added

Ways to freeze/unfreeze

  • Hotkey Ctrl+Shift+F to freeze/unfreeze

  • Mini toolbar when clicking column, row or cell to freeze

  • View: Unfreeze/Freeze Panes menu to freeze/unfreeze

  • Mini toolbar when clicking in upper-left corner of worksheet to unfreeze

    Image Added

ORG-23417

Protect Worksheet

Disable Editing of worksheet by adding a lock on sheet

  • Mini toolbar bar button is added to disable/enable editing of sheet. Lock icon shows in front of sheet name

Image Added
  • Select multiple sheet tabs and right click to protect

  • Context menu in Object Manager to protect sheet(s)

  • Choose Preferences: Protect Sheet Options… menu to customize protection exceptions.

    Image Added
  • System Variable @WPO for exceptions (default 11 - allow mask, sort, and resize col/row and change colors)

@WPO = 0 will lock up all except to change filled color etc.

WPO_COLOR_AND_RESIZE = 0x01,
WPO_MASKING = 0x02,
WPO_SET_DESIGNATION = 0x04,
WPO_REORDER = 0x08,
WPO_CELL_NOTES = 0x10,

ORG-25445

Hide Sheets

Hide sheets in Workbook

  • Right-click sheet tab(s) to hide.

    Image Added
  • Right-click sheet(s) in Object Manager to hide/show

    Image Added
  • Show/Hide sheets in Navigate Worksheets dialog

    Image Added

ORG-25593

Stack Worksheets Improvements

Skip Hidden Sheets when stacking worksheets

Skip Hidden Sheets checkbox is added in Stack Worksheets dialog.

Image Added

ORG-14088

Wrap rich text in worksheet

Allow wrapping rich text in worksheet cell

In previous versions, rich text in worksheet cells couldn’t be wrapped.

It can be wrapped in Origin 2023 and is set as default.

Ways to set as rich text and wrap/unwrap

  • Format: Worksheet… menu. Go to Format tab to set rich text, or to turn on wrap/unwrap of each level, e.g. long name, comment, data…

  • Set Style: context menu. Depending on the location of the right-click, it may be called Set Long Name Style, Set Data Style, etc.

  • Mini toolbar when click column label row header

Note: When double clicking text to edit (in-place edit mode), text will not be wrapped

In Data cell area, if rich text and wrap are both checked, the text will be center aligned vertically. Adjust the height of the cell to see the effect. System variable @DCWRVC=1

Set @DCWRVC=0 so text is top aligned.

ORG-25184

Managing Sheets in Workbook Improvements

Make moving sheets in book easier.

  • Shift+Select or Ctrl+Click sheet tabs to select multiple sheets. Then:

Drag them to another book to move them there..

Drag to workspace to move them to a new book.

There is also Move to New Book or Selected Book in Navigate Worksheets dialog.

Set system variable @SDMS=0 to roll back to old behavior so multi-sheet will not be allowed to drag.

  • Drag and drop multiple sheets in Object Manager to reorder them.

  • Auto scroll sheets when keeping dragging sheet tabs in one direction as in Excel. In older versions, it would be impossible to drag a sheet to a certain location since the sheets couldn’t auto scroll.

ORG-25467

Support Deselect Cells with Ctrl Key

Hold Ctrl key and click on those already selected cells to deselect them

Ctrl+Click the already selected cells will unselect the cells.

Previously, there was no way to unselect already highlighted cells.

ORG-25458

Ctrl+Shift+Arrow keys for column/row selection

Support Ctrl+Shift+ Arrow key for whole row or column selection similar to Excel

Select a cell in worksheet and choose:

  • Ctrl+Shift+right arrow – highlight from current selection all the way to the right

  • Ctrl+Shift+left arrow – highlight from current selection all the way to the left

  • Ctrl+Shift+up arrow – highlight from current selection all the way to the top

  • Ctrl+Shift+down arrow – highlight from current selection all the way to the bottom

With Ctrl+Shift pressed, press right arrow first and then down arrow to select from current selection all the way to bottom-right corner.

ORG-25349

Alignment of URL Linked Cells

Alignment toolbar buttons are enabled for hyperlink cells

E.g. enter http://originlab.com homepage in a worksheet cell.

Select the cell and set alignment on Format toolbar.

It’s also supported in other links, e.g.

  • range://[book1]sheet2 here

  • path://"C:\Program Files\OriginLab\Origin2023\Samples\Image Processing and Analysis\bamboo.jpg" open

ORG-19861

More Merge by options for reduce columns

Support merge columns by median and also support output multiple quantities

  • Choose Worksheet: Reduce Columns… menu

  • Set Merge by as Custom to specify multiple quantities to output (space separated).

  • Note: SD column will be set as YErr automatically.

Image Added

ORG-25402

Intellisense/Auto complete improvements

Shows Auto Complete hint for the syntax of function argument.

When typing function formula in cell, Set Values dialog, or Command window, the auto complete hint will show the parameters of the function for ease of use.

Image Added

ORG-25395

Autofill for Column Formula Improvements

Enumerate column part with Ctrl+Drag

Example 1:

Enter B-B1 as formula in column E. Ctrl+Drag the F(x) cell corner to the right will fill C-C1, D-D1

Drag without holding Ctrl key, it will fill with B-B2, B-B3 (only incrementing number at the end)

Image Added

Example 2:

In Book3, set column B’s F(x) as [book1]1!B+[book2]1!B, then Ctrl+Drag the tiny bottom-right corner of the F(x) cell to the right, it will column C, D, … 's formula as [book1]1!C+[book2]1!C, [book1]1!D+[book2]1!D, ….

Image Added

ORG-25475

Show stats of column label row selection

On Status bar, show statistics when doing selection in column label area

Select cells in column label area, statistics such as count, average, sum, min, max, etc. show on Status bar.

This used to only work for selections in data area.

ORG-25548

Improvement to Cell URL Link notation

New notations are added to execute LabTalk script, open external file.

  • labtalk:// notation to execute LabTalk Script

    • labtalk://";ty -b hello" Hello World – it runs script in quotes

    • labtalk://";work -r" Click to run script – It runs the script in Worksheet: Worksheet Script… dialog.

The ; is not needed if the script does not open dialog.

  • path:// notation to open external file

    Code Block
    path://[C:\Windows\Web\Wallpaper\Theme2\img11.jpg] img11.jpg

Also, support Alt + Double click to edit URL link in cell.

ORG-20565

Select Column… Improvements

Select columns by LabTalk Script

Support select/hide columns by running some conditions defined by LabTalk Script

Image Added

Examples: x refers to column, j refers to column index

  • x[10] = 2.5 //check if column’s 10th row is 2.5

  • mean(x)> 2 //check if column’s mean is bigger than 2

  • j==2 or j==7 //if it’s 2nd column or 7th column

Other minor improvements:

  • Add Select Columns… menu under Column as well. It used to be under Edit: menu only— which was not obvious.

  • Renamed the Test - Select if True button to Select button

ORG-25549

Worksheet cell insert Image from files supports direction

Right-click a worksheet cell and choose Insert Images from Files to open insertImag dialog, a new option Insert Direction is added to choose the direction to insert images.

Default Horizontal First will insert images row-wise, which works same as before. The Vertical First will insert images column-wise.

Image Added

ORG-25450

Unstack columns Improvements

When unstacking columns, choose Custom option to specify where each grouping info. is output to

This feature is useful when there are multiple group columns.

When unstacking, there is an option specify where each grouping info. should be output to.

E.g. in the following example, age is output to User Defined Parameter (D1), while gender is output to Long Name (L)

Image Added

ORG-25616

Move rows in worksheet

Mini toolbar to move row(s) up or down

Click mini toolbar buttons to move selected rows up or down

Image Added

LabTalk Script

  • worksheet -sou mr 2 //move selected rows down 2 rows

  • worksheet -sou mr -2 //move selected rows up 2 rows

Note: For data imported by data connector, choose Unlock Imported Data to temporarily unlock data so you can edit or move data.

Image Added

For analysis output sheets with locks, this will not be allowed either. You can set Recalculation mode to None to move data. But the result sheet will not be updated if input data is updated.

ORG-25657

Improvements on Cell Formula Cache

Improve the handle of cell fomula cache for better performance

Cell formula would be calculated from time to time in the previous versions, so if the source data is huge, it will be slow. There is a value cache for cell formula though, but it will be cleared after time limit is reached, which is control by @SCNT (time interval as milliseconds, default is 5000). So if your project is slow with cell formula, can set @SCNT to be a huge number to avoid recalucation.

Since Origin 2023, cell formula will keep using cache result until data change, so it will not recalculate frequently. And then if you want to force clear the cache to force cell formula values to update, press F5 to refresh or set @SCNT = -1 to do it.

ORG-25251

Improvements autofill for cell formula with row index

Improve autofill behavior for cell formula with row index

For cell formula like “=A[1]”, “=sum(A)[1]“,

  • Autofill will do repeat

  • Ctrl + Autofill will do enumerate

ORG-25719

Insert Worksheet into Layout Improvements

Improvements when inserting workbook into layout window

  • Directly insert worksheet without need to drag in layout

  • Hide column header, row header, empty rows at bottom

  • No margin around worksheet.

  • Mini toolbar to set border, font, fill color, font color, etc.

  • Support insert worksheet in graph via menu Insert: Worksheet…

ORG-25628

Copy Worksheet as HTML/EMF

Support copy whole sheet as HTML table or EMF image without any selection

New menu Edit: Copy: Copy Sheet as HTML/EMF is added for Worksheet.

Also, Frame Thickness and Margin options are provided in Worksheet Properties: Print/Export page for copy as EMF usage.

ORG-25634

Worksheet Print, Export and Copy EMF Improvements

Improvements on Print/Export tab of Worksheet Properties

  1. Gridline in Printout and export should be WYSIWYG. So removed grids settings on the tab.

  2. Add Frame and Margin settings when copying sheet or selection as EMF (from Edit: Copy: submenu)

Notes

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25424

Better position of cell notes if close to window edge

Shift cell notes so cell notes will not be too small

Try to add a cell notes to a cell in last column or last row, it will be impossible to edit since it’s partially hidden.

Image AddedImage Added

In Origin 2023, the box will shift to left or upward to be more visible

Image AddedImage Added

System variable @CCFA is added. The position adjustment will happen if the reduction of the size due to the limited space would be more than 100% minus the value of the system variable, and independently for width and height. If there is any position adjustment, there will be no leader line in the non-editable case.

@CCFA=0 will preserve the old behavior (no shifting).

ORG-25504

Cell Notes Font and Gap Improvements

Cell notes font control, gap from frame control and viewability in Column list view

  • System Variable @CNF (default 12) is added to control cell notes preview font, so that it’s independent of Notes window font.

  • Enable Font size dropdown list when edit cell note in Notes window

  • Enable Increase Font and Decrease Font toolbar buttons in Notes window in general

  • Gap is added between cell note text and frame box when editing cell note. System variable @CACM is added to control the gap.

  • Support column label row cell notes in Column List View.

Import

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25526

Other Options in CSV and Excel Data Connector

Add Other Options button in Data connector for more options

Options includes the following:

  • Add Sparklines - available for CSV and Excel connectors.

  • Rename book & sheet – only available for CSV connector

  • Save as Default button for Sparkline and Rename setting – only available for CSV connector

  • Post Import LabTalk Script – available for CSV and Excel connectors

Image Added

ORG-25069

Support importing Shapefiles in geodetic format

Added checkbox “Convert to WGS84” to dialog.

If “Convert to WGS84” is selected on import, the XY values are converted from meter to longitude and latitude.

ORG-25113

Improvements when importing Excel data with merged cells

Different treatment of merged cell in column label row and data area

If merged cells are in the data comments area, the merge will be kept vertically but not horizontally (along different columns)

Merged cells in data area will not be kept. The value will duplicate in each cell.

System variable is @XMD (default 1 to duplicate in data area)

Image Added

ORG-25322

GUI to edit user defined type Import Filter

Improve iwfilter X-Function to support edit Python or LabTalk code from user defined import filter.

Open iwfilter dialog and then load user defined type Import Filter, it will show User Defined branch, underneath will be 3 branches with checkbox to enable, Python Code, Python File, Origin C.

ORG-25508

Connect to Web Dialog Improvements

Split Recent URLs menu into two menus, Sample URLs and Recent URLs

Choose Data: Connect to Web… menu

Image Added

ORG-25563

Import Certain NetCDF file with group property failed

Improve NetCDF Connector to import NetCDF file with group property.

  1. Add *.nc4 to file type combo.

  2. Support importting NetCDF file with group property.

ORG-25330

Import File Browser dialog improvements

Support reorder File list on bottom panel of Multiple ASCII dialog.

  1. Added hint “Use wildcards (*, ?) in File name box to filter files. Drag or sort rows below to re-order.” to multiple files browser.

  2. Support reorder File list on bottom panel of multiple files browser.

ORG-25830

Improvements on XML Data ConnectorData File

Include XML connector in product with metadata imported and drag and drop support

  1. Import metadata from XML file to storage and show smart hint.

  2. Include XML Connector in product.

  3. Added system variable @xmll=2(default) to set if break up variable path to LongName and Comment, 0 will be like before, all going into LN.

  4. Drag and drop *.xml file into Origin, will use XML Connector to import, if XML Connector is uninstalled, then use X-Function impPrism to import.

ORG-25851

NetCDF import Info tree

Set imported info as read-only in Organizer.

  1. Set imported info as read-only in Organizer.

  2. Added system variable @NCH. If @NCH=0(default), import info tree into sheet level; If @NCH=1, then import info tree to Imported Files area.

Export

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25249

Better default setting when exporting GeoTIFF files

Default GEO information setting Export image dialog when exporting as TIF file type

Default settings of exporting GeoTIFF in Export image dialog from both matrix and image window:

  1. GT Model = Geodetic

  2. EPSG = 4326

  3. Angular Units = Degree

  4. Linear Units = Meter

  5. Vertical Units = Meter

ORG-25047

Matrix Export to Image to better support GeoTIFF

There is an option in the dropdown list and default to it if we detect matrix has that info.

Besides geo info, Origin will check file extension as well:

i.e. import *.jpg into image window, export dialog will default to jpg too. while matrix window does not now.

ORG-25589

Export Worksheet as Image Improvements

Ignore hidden rows, show border, etc.

  • Empty rows at the bottom of the worksheet will be ignored when Export Area is set to Whole

  • Added a border around sheet in exported image. System variable @ESB to set border width. 1(default) - to turn it on, > 1 will increase thickness, 0 will turn it off

ORG-24994

Preview button in Simple Graph Export dialog

Add preview button in expG2img dialog

Click the button will open the graph in internal preview tool.

  • Zoom in/out by Ctrl+mouse wheel. Zoom % will show on bottom left corner of status bar at the bottom of Origin workspace.

  • Drag to pan.

  • Ctrl+W to reset

It does not support for SVG.

ORG-25269

Raster Export Misinterprets Middle Colors of Colormap Temperature Palette

Higher default color depth on export

BMP, PSD, TGA: from 256 colors to be 24-bit color.

PDF (Basic Object - Resolution): from 72 to be 96.

ORG-25240

Support export image, graph window as Video, GIF, TIFF

  1. We support export multiple frames as TIF.

  2. Export Browser Graph as Video or Multi-frame TIFF

  3. Export Image Window All Frames as Video

  1. When Image Type is set as tif and multiple pages are selected, there is checkbox "Export as multi-frames TIF file"

  2. XF expg2video can be used and we can select type as AVI/GIF/TIFF.

  3. Image window can be exported as AVI in cvExport dialog

ORG-25398

Excel Export supports cell formatting

Add checkbox “Export Cell Formats” in expExcel dialog

The following formats are included:

  1. Font, including color and size

  2. Cell color, including fill color

  3. Cell alignment & merge

  4. Numeric decimal places

Note: Excel and Origin has different syntax. For those not matching, it will not be supported. E.g. fraction in Origin will show as decimal in Excel.

ORG-25120

Import Export Issues with GeoTIFF in Image Window

Support export Multiframe TIF with GeoTIFF info

Export multiple frames tif file from image window will also export the GeoTIFF info like XY mapping.

Analysis

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24718

Normalize Columns Improvements

Normalize Columns within group defined in other columns

In the following example, there is an ID column with group information.

Highlight column B and choose Analysis: Mathematics: Normalize Columns… menu

Specify Column A (ID) as Group column and choose Normalize Methods as Divided by Max.

See the output column C. Origin finds the max B within each group defined by A and divides each value in that group with the group max.

Image Added

ORG-22711

Reduce XY by Group Improvements

Reduce XY data by group defined in other columns

Select Analysis: Data Manipulation: Reduce by Group… menu.

By Reference Column(s) option is added in SubGroup method dropdown list.

Choose it and specify Reference Columns

Check Output Group Info.

See the output columns from E to H. E&F are averages of XY data within each group. Column G&H are group information.

Image Added

ORG-25523

Use Group, etc. variables from same sheet as input data

When changing parameters and change input data to be from a different sheet, group list, etc. should provide way to pick group from new sheet

E.g. do statistics on columns with data from Partial sheet with group information specified.

To later modify the statistics to be based on another sheet e.g. All:

  • Choose Change parameter to open the dialog,

  • Specify input data range to be from new sheet

  • Click x above Group list box to remove the mismatched group info.

  • Click > in Group list box to pick group column from new sheet

Image Added

This applies to other analysis dialog with such list view box like Group List box here.

ORG-25254

Convert multiple Z data to matrix together

Convert XYZZZ columns into multiple matrix objects in same matrix sheet

Support multiple Z in Worksheet: Convert to Matrix: XYZ Gridding and Worksheet: Convert to Matrix: XYZ Log Gridding tools

For XYZZZZ… data, highlight all of them and choose Worksheet: Convert to Matrix: XYZ Gridding… or XYZ Log Gridding….

The result will be put to different matrix objects in same matrix sheet for easy use in future graphs and analyses.

Previously, these tools only accepted one set of XYZ.

ORG-25242

Output comments in Analysis

Result Sheet Column output changed in some types of analysis tools

Statistics-> Descriptive Statistics-> Discrete Frequency : Result Sheet Column should use Long Name directly if there is no duplicate long name in source sheet. Short Name + “Long Name” used to only show “Long Name“

For Smooth, rnormalize, vnormalize, interp1, interp1trace, interp1xy, reducedup, reducexy, reduce_ex : Create system variable @CLL(carry column label, default @ccl=1) to add label row Method to show method information. Long name/Units in result sheet is the long name/Units in the source sheet

ORG-25415

Statistics on Columns output improvements

Options to show histogram as count, relative frequency or density, improve axis title of graphs when doing statistics by group, and Dataset Identifier improvements in report sheet.

  1. Add Data Height option for histogram plot in statistics on columns

    Image Added

2. Replace Y-axes titles from "Range" to LN (unit) for stats with group

Image Added

3. Dataset ID label in DescStatsCurves1 sheet issue was fixed

Image Added

ORG-20760

Improve Power result in Two Sample t-Test

  1. Added Footnote to Power result in Two Sample t-Test

  2. Added Footnote to Power result in (PSS) Two Sample t-Test

  1. Added Footnote: “The sample size is for all data. SD of both groups are used in power calculation.“ to Power result in Two Sample t-Test

    Image Added
  2. Added Footnote: “The sample size is for each group.“ to Power result in (PSS) Two Sample t-Test

    Image Added

ORG-25645

Input Improvements in Analysis tools

All Columns context menu in more tools to easily pick all columns as import and more…

  1. All Columns context menu is added in more analysis tools to easily select all column as input, such as normality test, average curves, statistics on columns, dialog.

  2. Exclude Text Dataset checkbox is added in Statistics on Columns tool to exclude text column in output.

  3. Some columns result are missing in flat result sheet of Statistics on Columns. Fixed in Origin 2023.

Gadgets

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25325

Control Gadget Button and Label Size

Added option to control default Gadget Button Size and label size above the ROI box

In the User Files Folder, open Origin.ini, find [Font] section, add or edit the following line to change default button size and label size

GadgetButtonSize=16

GadgetLabelSize=16

ORG-22206

Z value statistics and Fade-out Outer mode in Cluster Gadget

Support Z value stats in 3D graph and Fade-out Outer mode

In Gadget->Cluster

  • Support Color option (checked by default) to check Z values (color mapping), use long name as identifiers, if it exists

  • Support Fade-out Outer mode. In Fade-out Outer mode, data outside of the Region of Interest is faded. Border Color option can change the frame color of the gadget

Image AddedImage Added

ORG-15262

2D Integration Gadget (Pro) improvement

Support free-hand shape ROI in 2D Integration Gadget

Image Added

Image Processing

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25211

Create Linked Matrix of ROI

Linked matrix of ROI in image window with proper XY coordinates.

In some cases, a calculation, analysis, or statistics of a region of interest in an image is required. But such operations may only be available in a matrix window.

This previously required 4 steps: add ROI, create linked image of ROI, convert to matrix, do the operation on the matrix.

In Origin 2023, the create linked image and convert steps can be skipped. A Create Linked Matrix context menu is added.

When dragging or resizing the ROI in image, the linked matrix will update accordingly.

Image Added

ORG-25174

Intensity Profile with small ROI issue

Added Weighted ROI checkbox option to mroiprofile dialog for tiny coordinates ROI.

If this option is selected, each pixel is weighted by the area of the intersection of the pixel rectangle and the ROI polygon.

ORG-23789

ROIs from SVG files

Support creating graph object from SVG file, and create ROI from the graph object.

1.LabTalk command to create a gr. object(only work for Graph):

Code Block
draw -paths objName <pathname of .SVG file>

2.LabTalk command to create a gr. object, and initially set the rectangle of the created object (only work for Graph):

Code Block
draw -paths -s MyPath "<path name of downloaded 100960033.svg>"

3.LabTalk command to create a gr. object, and support creating ROI from the path in graph object(work for Graph, Matrix, Image):

Code Block
draw -paths -d MyPath "<path name of downloaded 100960033.svg>"

4.OC way to add/remove SVG file to a matrix layer and associate it with the active matrix object by index:

4.1.Compile following code and execute load_svg_to_matrix("<svg pathname>") to add SVG file to the active Matrix object of matrix layer.

Code Block
void	load_svg_to_matrix(string strPathName)
{
	MatrixLayer			matlayer = Project.ActiveLayer();
	if (!matlayer)
	{
		out_str("Matrix must be active!");
		return;
	}
	
	LPCOSTR				lpcszPathName = strPathName;
	OLP					olpRet = matlayer.PathsObjectsManagement(PATHSMNG_ADD_PATHS_OBJ, lpcszPathName);
	if (olpRet <= 0)
	{
		out_str("Failed to add SVG!");
		return;
	}
}

4.2.Compile following code and execute remove_all_svgs_from_matrix() to remove all SVG files from active Matrix layer.

Code Block
void	remove_all_svgs_from_matrix()
{
	MatrixLayer			matlayer = Project.ActiveLayer();
	if (!matlayer)
	{
		out_str("Matrix must be active!");
		return;
	}
	
	OLP					olpCountRemoved = matlayer.PathsObjectsManagement(PATHSMNG_REMOVE_ALL);
	out_int("Paths objects removed: ", olpCountRemoved);
}

ORG-25600

More on ROIs from SVG files

  1. Create ROIs with the sub-paths object’s name by Origin C

  2. Origin C support defining sub-paths object’s name by json file

  3. Set the transparency, rotation when loading the paths object by Origin C/Labtalk

  4. List all sub-paths and create optional ROI by Origin C

  5. Optionally highlight/select all sub-paths of one name by Origin C

  6. Support showing tooltip when mouse over sub-path

  7. More select and highlight feedback on SVG sub-path, set @PDBMI=1/0 to change view mode

  8. Support rescaling the paths object along with window

  9. Support relocating and resizing the paths object(Keep Aspect Ratio or not)

  10. Support Copy Geometry and Paste Geometry context menu for the paths object

  11. If paths object is attached to Layer and Scale, press Shift and choose Paste Geometry menu to open the dialog and adjust the geometry value.

  1. Pls check the Jira for details about Origin C code.

  2. LabTalk command to set the transparency of paths object

    Code Block
    draw -paths -d -t <transparency> objName <pathname of .SVG file>
  3. LabTalk command to set the rotation of paths object

    Code Block
    draw -paths -d -r <angleof rotation in degrees> objName <pathname of .SVG file>
  4. LabTalk command to skip <rect> element. If the first drawing element is <rect> and its width and height are the same as the width and the height of the root <svg> element, the <rect> element will be skipped.

    Code Block
    draw -paths -d -rr objName <pathname of .SVG file>

ORG-25854

X-Function pkfind supports filtering peaks by height percent

A 4th choice “Height %“ is added to the “Filter Peaks by“ combo

ORG-25799

Wrong ROI name if creating multiple ROIs

Support to use acronyms for ROI names created by SVG path objects

Code Block
void	load_svg_to_matrix_with_subobjects_identification_use_acronyms_for_ROI_names(string strSVGPathName, string strPathName_arg2acr, string strPathName_acr2full)
{
	MatrixLayer			matlayer = Project.ActiveLayer();
	if (!matlayer)
	{
		out_str("Matrix must be active!");
		return;
	}
	
	STPATHSMNG_SubObjectsIdentification	stIdentify;
	stIdentify.lpczPathName_arg2acr = strPathName_arg2acr;
	stIdentify.lpczPathName_acr2full = strPathName_acr2full;
	OLP					olpRet = matlayer.PathsObjectsManagement(PATHSMNG_INITIALIZE_SUBOBJECTS_IDENTIFICATION, NULL, 0, &stIdentify);

	
	LPCOSTR				lpcszSVGPathName = strSVGPathName;
	STPATHSMNG_AddPathsObj	stAdd;
	stAdd.bSkipFirstShapeIfRectMatchesRootRect = TRUE;
	stAdd.bUseAcronymsForROINames = TRUE;
	olpRet = matlayer.PathsObjectsManagement(PATHSMNG_ADD_PATHS_OBJ, lpcszSVGPathName, 0, &stAdd);
	if (olpRet <= 0)
	{
		out_str("Failed to add SVG!");
		return;
	}
	
}

Programming

LabTalk

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25759

ORG-19324

Improved Script Window

Improved Script Window with Unicode Support, etc.

  • Toolbar button added on Standard toolbar to open/close Script window.

  • Unicode support

  • Enable Auto complete and Syntax color via Edit menu in Script window.

  • Sharper font and font size control

    • System variable @swf for font, 0 (default use ScriptWindowFaceName, which is default to Consolas) , 1 (Scintilla default which is Courier New)

    • System varialbe @swfs for font size.

    • Ctrl+mouse wheel to zoom and panning

  • Removed Python support fom Script window. User should go to Connectivity: Python Console for python.

ORG-25804

Range notation Improvements

Window long name search to favor same folder

When using window long name in range, etc. definition, it will favor the same folder.

If user later duplicate such folder, or save the folder as opju and append to other project, etc. the script will still work fine since window long name will be kept when duplicating folder, window or appending project.

If using window short name, e.g. Book in definition, since short name must be unique in a project, the script/formula may not work well.

Example 1: Column B in Book1’s calculated by interpolate A,B in Reference book, using new X in A of Book1.

Duplicate the folder and modify reference book data, the calculation will update based on the Reference book in new folder.

Image Added

Example 2: In Book2’s B1 shows x value of vertical line in graph window with long name KZ LL

Duplicate the folder. The graph window in new folder will have same long name. Therefor the var:// link refers vertical line in graph of same folder. Move vertical line. Press F5 to see update in workbook.

Image Added

ORG-25114

Relative Position Improvement for Linked Objects

To connect a text object to another object with the relative position method, LabTalk support was added to specify which anchor, and a way to control anchor on text frame

When connecting a Text object to a Line Object in previous versions, we used Line.connect(Text,0,17,nTargetRefPt,35), nTargetRefPt=0. Now Origin supports value = 26~34 to specify the 9 anchor for text object

LabTalk method to control anchor on text frame, text.anchorontextframe=0/1, when 0, Text Object dialog: Position tab: Anchor on Text Frame is clear, when 1, Text Object dialog: Position tab: Anchor on Text Frame is checked

ORG-25024

Provide a LabTalk local function to generate a Range variable

Predefine mkrng function in ORGSYS.CNF file

Note: This can only be used in cell formula, not column formula.

Some functions don’t support using range string. e.g. Can’t use total(A$ + “!” + B$). In such cases, first call mkrng() to generate a range variable and then use it as an argument in a function.

Image Added

mkrange() is defined as follows in ORGSYS.CNF

Code Block
function range mkrng(string str)
{
    range rr = str$;
    return rr;
}

ORG-25680

Add a LabTalk method to add button in the gap area

A new method adds to wks object to add button in the gap area

Syntax: wks.AddButton(objName text label for button)

Code Block
wks.Gap = 20;
wks.AddButton(Test Click Me);

ORG-25733

LabTalk command to convert non-SCN column formula

A new command is introduced to convert non-SCN column formula to use SCN notation

Usage: work -cof

Run this command will convert non-SCN column formula in active sheet to use SCN notation, like wcol(2)-col(C) will become B-C.

ORG-25366

Axis Arrow control from LabTalk

Add LabTalk properties to control axis arrow and grid

Code Block
layer.axis.arrow.show =; //Show/Hide axis arrow
layer.axis.arrow.length =; //Length of the axis arrow
layer.axis.arrow.width =; //Width of the axis arrow
layer.axis.arrow.offset =; //Offset of the axis arrow from the axis line
layer.axis.arrow.shape =; //Shape of the axis arrow
layer.axis.grid.show =; //1: Show Major, 2: Show Minor, 3: Show Both

ORG-25307

LT string object to load from text file

Add a method for LabTalk String object to load from text file

Syntax: int nRet = str.FromFile(fname$)

Code Block
dlgfile g:=*.ogs;
string str$;
i = str.FromFile(fname$);
i =; //1 for success

Python

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24891

Certain Apps fails to work due to Python package version incompatibility.

Some Apps need the same Python Package, but one needs the latest version and another one needs an older version. If both versions are in the same folder, e.g. C:\ProgramData\OriginLab\PyPackage, it will cause compatibility issues.

Origin now supports multiple PyPackage folders by setting the System Variable @PYP.

An example for installing two Apps needing the same Python Package— do the following:

  1. Make sure @PYP=0, install one app like SVM Classification app.

  2. Set @PYP=1, restart Origin, install another app like Empirical Mode Decomposition app. Restart Origin.

  3. Empirical Mode Decomposition app should be usable under C:\ProgramData\OriginLab\PyPackage1, while SVM Classification app is available under C:\ProgramData\OriginLab\PyPackage

If you want to use the SVM Classification app, need to set @PYP=0, and restart Origin

ORG-25456

Add python interface for LabTalk set command for plot

Add method Plot.set_cmd(self, *args) to execute labtalk set command for this data plot

Code Block
wks = op.find_sheet('w', 'Book1')
gl = op.find_graph('Graph1')[0]
dp = gl.add_plot(wks, 1, 0)
dp.set_cmd('-c 2', '-d 2') # line color as red, style as dot

ORG-25659

Duplicated Column Long Name Issue in python to_df()

Improve the “head“ variable of to_df() function to support getting column short name

Code Block
# https://www.originlab.com/doc/en/LabTalk/ref/Column-Label-Row-Characters
# G for short name
wks = op.find_sheet('w', 'Book1')
df=wks.to_df(head='G')

ORG-25825

Better error check on Python functions

1.Import op.save() function to return true/false.

2.Added plot.group property to check if a plot is in group.

  1. plot.group=0: not in a group

  2. plot.group=1: group head

  3. plot.group=2: group member

Code Block
import originpro as op
op.new_graph()
if (not op.save(r'D:/'+'Nw.opju')):
    print ('saving failed')
else:
    print ('saving succeeded')

Matrix

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25188

XY coordinates issues on special NetCDF

msresize support xy coordinates from matrix

1.Add an option “Barycentric“ into the Interpolation Method combo.

2.When the option “Barycentric“ is selected, the dialog will show “XY Coordinates from Matrix” branch with two nodes "X Coordinates Matrix", "Y Coordinates Matrix".

3.When they are specified, the dialog will use the specified data as the XY coordinates of Input Matrix to do resizing.

Image Added

Miscellaneous

Ease of Use

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25385

Folder and Window Navigation

Added features to folder management to make it easier to navigate folders, Seesaw (toggle folders) and add shortcuts, etc.

Folder & Windows toolbar added

Image Added

  • Folder Back: – go to previous folder

  • Folder Forward – go to next folder

  • Seesaw (Ctrl+Alt+X) – toggle between recent two folders

  • Add shortcut to previous folder(Ctrl+Shift+F7) – add active window as shortcut to previous folder

  • Add shortcuts from previous folder – bring up a dialog to add windows from previous folder as shortcuts in active folder

  • Arrange Windows - arrange windows in current folder using <last used> theme

  • Pin Window - Pin a window so it will be excluded when arrange windows

Menu and context menu added

  • Window: Seesaw (Ctrl+Alt+X) menu

  • Context menu by right-clicking window title to add shortcut to previous folder (Ctrl+Shift+F7)

  • Right-click a window title to pin the window.

ORG-25422

Folder Notes

Add Notes for a folder in Project

  • Right-click a folder in PE and choose Folder Note… to add folder notes.

    Image Added
  • Hold Ctrl and hover the cursor over the folder to view folder notes with Origin rich text syntax

    Image Added
  • Added System Variable @FNS to set default syntax for folder note. Default is 3 = Origin Rich Text

ORG-25498

Mini toolbar on folders in Project Explorer

Mini toolbar on folders on top panel of Project Explorer for common manipulation

If not current folder, click either folder icon or folder name will show the mini toolbar.

If it’s current folder, please click the folder icon part to show the mini toolbar. Click folder name will enter the rename folder mode.

The three buttons on the Mini toolbar are:

  • Add/Edit Folder Note

  • Duplicate Folder

  • Open Folder Properties dialog

Image Added

There are context menu for these as well when right clicking a folder.

ORG-25451

Default toolbar layout in Origin 2023

  1. Put the Folder and Window toolbar on top, right above PE, and below the Standard toolbar, in the second row, and push the ones there to the right

  2. Remove Arrow and Layout toolbar

Image Added

ORG-25253

Arrange Window Improvements

More improvements are added such as include minimized window or exclude pinned window in window arrangement

  • Checkbox to include Minimized window option in the Arrange Windows dialog

    Image Added
  • Pin a window so it will be excluded when arranging windows — Right-click a window to pin it or click Pin Windows button on Folder and Windows toolbar.

    Image Added

ORG-24746

Improve Shortcuts to Show Pages from two folders

Add shortcuts of windows in another folder to activate the folder for comparison

Only windows in active folder show in workspace.

To compare windows in active folder with some windows in other folder:

  1. Go to Project Explorer.

  2. Right-click the non-active folder and choose Add Shortcuts…

  3. It will open a dialog to pick the window types there to bring to the active folder as shortcuts.

  4. Click OK.

  5. Notice such windows in the other folder show as shortcuts (see Home button on title bar)

  6. Afterwards, these shortcut windows can be deleted. Or right-click the folder in Project Explorer and choose Remove Shortcuts.

ORG-25423

More on Improve Shortcuts 2023

Window menu add new items for Shortcuts

  1. Seesaw: Return to previous folder

  2. Add Shortcut from Last Folder to Current Folder

  3. Remove Shortcuts.

  4. Added a new LabTalk Command:

    doc -rs; //remove only current folder's shortcuts

    doc -rsr; //this is from the menu and will remove sub-folder shortcuts as well.

ORG-25343

Restore window size

Window: Restore Window Size to restore window size and positions

After arranging window layout in a folder, a window may be temporarily or accidentally, moved or resized.

To return to the previous arrangement, select Window: Restore Window Size: (Ctrl+Shift+Z) to restore the window to original size and positon.

This also works to restore maximized or minimized child windows

ORG-25372

Tooltip on Menu Items

Show menu hint as tooltip and F1 for Help

  • Support pressing F1 when mousing over menu item and toolbar buttons to open corresponding Help file. In the past user would need to open the tool first and then press F1 to open Help.

  • When mousing menu item, tooltip shows. In the past when mousing over menu item, hint showed on Status bar at the bottom of Origin workspace. It’s far from the menu so user may not even notice it. Tooltip used to show only for toolbar buttons in Origin.

ORG-24937

Easier hot keys to zoom and scale in

Hold Z key, right-click and drag to change the scale.

Hold Z key, right-click and drag to change the scale.

  • Right-click and drag up/down to rescale y-axis in/out.

  • Right-click and drag right/left to rescale x axis in/out.

ORG-25453

Easier way to save window to project folder

Provide <Project Folder> in built-in File Path list of Save Window As… dialog

In the Save Window As dialog, click File Path list.

Two extra paths are added related to Project Path to easily save a window to same folder as the project file or a subfolder based in Project Explorer structure.

Image Added

ORG-25448

Recent Project History

OriginProjHistory.txt in UFF

OriginProjHistory.txt created to list recent Origin files, e.g. project, graph, workbook, etc.

System variable @MHF=1000 (default) : max number of entries to keep

Set it to 0 or less to stop adding entries.

Image Added

ORG-25528

Stop saving project as OPJ format

Only support saving as OPJU format

OPJ files saved in Origin 2023 will not be able to be opened in older versions that don’t support OPJU.

So we removed saving OPJ files from the menu and OriginC.

Old OPJ files can still be opened in 2023.

ORG-25442

Support decimal place customization of the result label of Graph Maker

Implemented support for adding number after * to set decimal places

Image Added

ORG-25756

Add App Tutorial web page for app

add context menu for user to open App Tutorial web page

  1. Rename “Open File Exchange Page“ context menu to “Open App Webpage“

  2. Add “Open App Tutorial Webpage“ context menu to open App Tutorial page, if tutorial is not existing, origin will open Request App Tutorial page, user can easily to post request if needing tutorial for complex app.

Image Added

ORG-25432

Change OPJU File Type to Origin Project

Change OPJU File Type to Origin Project

In Origin 2022b and earlier versions, File>Open dialog, users are not sure which file type is the Origin project file because currently OPJU files are listed as “Unicode Origin Graph”, which is confusing.

In Origin 2023 version, opju and oggu show as “Origin Project”; while opj and ogg still shows as “Origin Graph“.

Image Added

ORG-25546

Hot key to Return the MDI child window

Press Ctrl+Enter to Retun the MDI child window

For a worksheet, Add Graph as Sheet, double click the Graph sheet, now support Ctrl+Enter to accept changes and close, the same behavior as the Return button in top-right corner.

Note: The hotkey works for other window type, like image etc., and works in Project Explorer: Comment