Versions Compared

Key

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

Graphing

New Graph Types

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-29592

Icon improvements on left panel of Plot Details dialog

Much easier to tell a plot is a single plot or belongs to a group

In the past, when open a complicated graph to customize plot, it’s hard to tell if a plot is a single plot, or belongs to a group. For grouped plot, some Tabs only show when 1st member in the group is selected.

In Origin 2025, a single plot is denoted by image-20240823-142637.png, a plot blonging to a group is denoted by alternatingimage-20240823-142656.pngimage-20240823-142923.pngicons

image-20240830-204700.png

ORG-29715

Grouping plots gets easier

Group nonadjacent plots and create multi-groups

Change of behavior and context menus changes in Object Manager to make it easier to group plots in a layer

  1. New behavior of Set as Group Begin and Set as Group End: Right click a member in a group of plot and choose Set as Group Begin or Set as Group End will break the current group into two groups. In the past, plots before Set as Group Begin or after Set as Group End would become isolated single plots.

  2. New Move as a New Group context menu: Select adjacent or non-adjacent plots in a group to move them into a new group. In the past, many steps were needed.

  3. Group non-adjacent single plots: For isolated single plots, no matter same plot type or not, ctrl+ select them, right click and choose Group to make a new group with 1st plot’s plot type.

ORG-27177

Data Filter For Graph

Graph based Data Filter without affecting worksheet

Turn on Data Slicer to set different filter condition on each graph without affecting worksheet data

image-20240730-154029.png
  • If there is already filter in worksheet before plotting graph, a prompt will be given

    image-20240730-154112.png
    • Show Data Slicer (old way) - changing filter in graph will affect worksheet and vice versa.

    • Convert worksheet filter to graph based will remove filter condition in worksheet and convert it into a graph based filter. Change filter condition will only apply to current graph

  • Click Filter to change filter condition; right click on a condition for more options including moving the condition orders, deleting the filter, etc.; right click in blank area below existing filters to add more filter conditions.

    image-20240730-182529.png

  • Related LabTalk Access

    • Command to convert graph with worksheet data filter to use graph based filter and take over the filters on worksheet

      Code Block
      languagecpp
      page -df; //convert to SDF
      //data filter still shows in source worksheet and row is hidden
      
      page -df 1;//convert to SDF and remove filter from source worksheet
      //no data filter in source worksheet and no row is hidden

      Similar to page -df, you can also try below command

      Code Block
      int nUID = layer.plot1.DF();
      nUID=;
    • To see datasets used in the dataplot, try below command

      Code Block
      list pl;
    • To show Graph Data Slicer pane, run below script

      Code Block
      page.cp.type = 5;
    • New LabTalk Object SDF is implemented to access the graph based filter used for the plot, says Shared Data Filters object.

      Code Block
      languagecpp
      //Suppose active graph plotting with graph based filter
      int nUID = layer.plot1.SDF;
      SDF ff = nUID;
      ff.wks$ =;//read-only, worksheet range, "[book2]sheet1"
      ff.enable =;//to allow temp disable
      ff.nf =;//read-only,number of columns to have filter
      ff.f1.col =;//first filter on which col
      ff.f1.filter$ =;//query string
      ff.f1.filterx$ =;//the x variable used inside the filter
      ff.Set(D:3:"between(18,23)");//replace col(D) filter if already existed
    • To retrieves the state of data filters in the active graph, use command

      Code Block
      languagecpp
      page -dfs nn;
      //nn = 0: no data filters detected
      //nn = 1: data filter present in at least one worksheet providing the data for at least one dataplot in the graph
      //nn = 2: shared data filter used by at least one dataplot in the graph
      //nn = -1: error

      or method

      Code Block
      nn = page.GetDF(str$);
      //str$ is a string variable to receive the worksheet range
    • When no data filter is used by any of dataplots, either as worksheet data filter or as a ShDF (execute the above command page -dfs nn; it must return 0), run below command to add a graph based filter.

      Code Block
      page -dfn ColNameOrNumber;
    • Create Shared Data Filters (ShDF)) from Worksheet

      • Define/Modify a Shared Data Filter from active worksheet

        Code Block
        languagecpp
        worksheet -shdf uidShDF [[colname:filtertype:filtercondition]]
        //uidShDF is the name of the LabTalk variable which will receive the UID of the created ShDF
      • Create virtual datasets using existing ShDF

        Code Block
        create name -vsshdf worksheetrange uidShDF;
      • Example

        Code Block
        fname$ = System.path.program$ + "Samples\Statistics\automobile.dat";
        newbook;
        impASC;
        worksheet -shdf uidShDF [[D:3:"between(16,23)"]];
        create myshdfvsy -vsshdf col(F) uidShDF;
        plotxy iy:=(C,myshdfvsy) plot:=202;
    • Command to dump Shared Data Filters in worksheet

      Code Block
      worksheet -shdfd;

ORG-28659

Error bar tooltip

The error bar tooltip provides numerical details of the range of uncertainty around data points in a graph.

The x and y error info shows when mousing over data points plotted with error bars, or when mousing over error bars.

image-20240531-201244.png

ORG-28723

Swap layers or swap graph objects

Select position of two layers, or two graphic objects

Swap position dropdown list is added on mini toolbar if two layers, or two graphic objects are selected.

It also shows on Object Edit toolbar on right side of workspace.

E.g. shift+select two layers and click the button.

image-20240716-082625.png

ORG-28721

Show Layer info in the Graphs list box

List Layer numbers in parenthesis after corresponding Graph name

This helps user to associate graphs and its layers in preview window when merging graphs

image-20240604-143759.png

ORG-29082

Add Note for Layout Window

Adding notes for layout window from Object Manager

Notes could only be added to graph window in Origin 2024b. In Origin 2025, notes can be added to layout window as well.

With Layout window active, click the Add Notes button on top of the Object Manager.

image-20240603-191939.png

If there is notes for a layout window, there will be + inside the icon. Click it to read the notes.

ORG-28263

3 List orders in Batch Plotting Dialog

More ways to sort available books and sheets in Batch Plotting dialog

There was no sorting order option in Batch Plotting dialog.

Before Origin 2024b, books show in creation order and sheets show in appearance order. In Origin 2024b, both books and sheets show in alphabetic order.

In Origin 2025, 3 sorting modes are added. Click the column header to toggle them.

  • Unsorted (default, old behavior before Origin 2024b)

  • Sort ascending (default in Origin 2024b)

  • Sort descending (similar sorting criteria as above type 2, but descending).

Note: Sheets in same book as source graph always show on top.

image-20240619-162850.pngimage-20240619-162938.pngimage-20240619-163002.png

ORG-28297

Plot Menu for Image Window

Support plot menu for floating image window.

Float the image window to the other monitor then check the Plot menu

ORG-29079

Remove the limitation of 16 color toolbar icon for custom toolbar

Supoort 32bit color toolbar icon in custom toolbar

Before Origin2025, only 16 color toolbar icons are supported. If you choose a 24bit or 32bit color image for custom toolbar and restart Origin, you will get Button group bitmaps must be 16 color message.

ORG-29031

Histogram Auto Binning improvement for arithmetic sequences

Histogram Auto Binning improvement for arithmetic sequences

When count(unique(input))<=10, we can sort the unique(input) and check if they are arithmetic sequences. In an arithmetic sequence, the difference between consecutive terms is always the same. If they are arithmetic sequences, assume the difference between consecutive terms is delta, bin size=delta, bin begin should be min-delta/2, bin end is max+delta/2.

Implemented in Origin2025.

ORG-16510

Smartly adjust ticks when zoom in the graph

Improve the rule of showing ticks to show better ticks values when zooming in

In Origin2025 before, improve the below case that sometimes too few ticks sometimes too many ticks

  1. Zoom in graph with hotkey/red dot

  2. Apply scale of ROI in image to graph

ORG-29207

Save To Cloud support for project files

Support saving project to cloud

Can save project to cloud by menu: File: Save Project to Cloud…

If there is existing opju file with same name on cloud, for OneDrive/SharePoint, will show dialog to ask replace or not; for Google Drive, save it directly.

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-29644

Paste Link from Excel Files on Cloud

Copy from xlsx files on cloud and paste link to worksheet cells

Open excel files from cloud in MS Excel. Copy data and paste link to worksheet in Origin.

ORG-28316

Set Date/Time Sampling Interval

Define a sequence for time or date by a start value and an increment value

Select data column and click the Sampling Interval mini toolbar button or choose Column: Set Sampling Interval… menu to define Date/Time based sampling interval. (Only Numeric was supported before Origin 2025)

image-20240522-212746.png

For column with sampling interval, image-20240522-213025.png icon shows at the corner.

  • Double click to read sampling interval info.

  • Select the column and choose Column: Show X Column to display the Sampling interval column to the left of the data

image-20240522-213148.png

Note: When plotting a column with sampling interval, it will use the inclusive sampling interval for the column instead of any X column to its left.

ORG-29184

Improved hotkeys for data editing

Same hotkey combinations as Excel to highlight contents of a cell and select entire rows or columns

Highlighting Content Inside a Cell:

  • Ctrl + Shift + End, or Ctrl + Shift + Down to highlight from cursor location to end of the cell

  • Ctrl + Shift + Home, Ctrl + Shift + Up to highlight from cursor location to beginning of the cell

Highlighting Whole Column/Row:

  • Ctrl + Space to select whole column

  • Shift + Space to select the whole row

ORG-29058

Show/Hide All User Parameters Mini Toolbar

Show or hide all user parameters rows to leave more space for data area in worksheet

Single click on any user defined parameter row header and click the new Hide/Show All User Parameters button to hide all user-defined parameter rows. Click again to show all.

This provide a quick way to hide all user-defined parameter rows on top of data so you can see more rows in data area.

image-20240531-203133.pngimage-20240531-203239.png

ORG-29123

D0 for Last User Parameter.

D0 now refers to the last user parameter.

D0 is changed to refer to last created user parameter row instead of 1st user parameter row. E.g.

  • Col(B)[D0] and col(B)[D0]$ can be used to refer to column B’s last user parameter row value or text respectively.

  • wks.merge(D0, 1) - merge last user parameter row if neighbouring texts are the same

  • Substitution notations %(Sheet1!,1,D0), %(1@W,2,D0)

ORG-28891

Maximum column width for long name when importing data

System variable @MCWL=15 (default) to set long name max column width when importing data

@MCW and @MRH to control the max column width and max row height when importing data.

New system variables are added

  • @MCWL - controls the long name max column width

  • @IXFC is – controls if Import XF follows the connector or not. 1 (Default): follow the connector. 0: does not follow the connector.

ORG-29494

Make XF text2cols accessible on menu

Choose Column: Text to Columns main menu to open text2cols XF.

Add text2cols XF in main menu to split a single column of text into multiple columns.

ORG-29540

Reduce Columns Supports By Column Labels

Merge Columns by Column Labels

Add an option Merge by Column Labels for the Reduce Methods in the Reduce Columns tool. The columns with the same column header labels can be merged with the row statistics.

ORG-29636

Mouse wheel to scroll sheet

Support mouse wheel to scroll sheet tab for book window

When mouse over sheet tab, support mouse wheel to scroll the sheet tabs. So it is easier to navigate sheet when there are many sheets. Both workbook and matrix book are supported.

ORG-29332

Easier way to build Summary Sheet

Added new context menu on sheet tab named “Add Summary Sheet for Batch Analysis” right below “Add Notes as Sheet” to build Summary sheet.

Add_Summary_Sheet1.gif

ORG-29742

Enter value in F(X) applies to whole column

For columns with sub range set with values, enter F(x) will ignore subrange setting and apply to whole column

Sometimes user highlight highlights a range of cells and click Set Column Values toolbar button or menu, or hotkey Ctrl+Q set the sub range value. in column and set its value. Such sub The formula shows in Fx F(x) cell but will only be applied to the specified sub range in the future.

Later there are two kinds of senarios:

  • Type new formula in Fx cell, and hope to change the sub range only. – old behavior

  • Type new formula in Fx cell and hope to change whole column - new default in 2025.

System Later user may forget this and wonder why changing F(x) failed to apply to the whole column.

In Origin 2025, system variable @FXR (default 1) is added to control it. Change it to 0 to roll back to old behavior.:

  • 1 - new behavior. Type new formula in F(X) will update the whole column

  • 0 - old behavior. Type new formula in F(X) will only update the subrange

Import

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-28665

Import all sheets with Excel Connector

<All> option added in Excel Sheet dropdown list in Excel Connector

In Origin 2025, user can choose <All> import all sheets at once.

Drag an drop Excel file uses <last used> settings. So if you pick <All> to import all sheets and later drag other Excel files, all sheets will be imported as well.

Note: If you pick a specific sheet to import and later drag and drop another Excel file without such sheet name, 1st sheet will be imported.

ORG-29128

Connect Multiple Files into Same Sheet

Append files row wise or column wise in same sheet

In Connect Multiple Files dialog, options to import multiple files into same sheet are added.

  • Append to Same Sheet as New Rows or New Columns.

  • Insert the full file name or extract meaningful information from a specific part of the file name.

image-20240620-161321.png

ORG-29211

CSV Connector Recognize Date Format for England Date Time

Added system variable @IDT and improve CSV Connector to auto detect “dd/MM/yyyy HH:mm” date format.

1.Added system variable @IDT=0(default), when set @IDT=1, will import date and time data as text.

2.When import “dd/MM/yyyy HH:mm” date format data, will auto detected it as date and imported it into column as date format.

ORG-29160

Better handle for date conversion without time part for 00:00

Improve CSV Connector to support auto detect the iso date data without time part and append “ 00:00:00”.

For below iso date data, will append “ 00:00:00” to “1998-01-01” and import as “yyyy-MM-dd HH:mm:ss”.

Code Block
1998-01-01
1998-01-01 01:00:00
1998-01-01 02:00:00
1998-01-01 03:00:00
...

ORG-28512

Data Connector Undo and Redo

Supported undo and redo for Data Connector.

Data Connectors support undo and redo for following actions.

  1. Remove data connector

  2. Remove data connector from all books

  3. All Navigation Panel Context Menu

    1. Connect as New Sheet(s)

    2. Connect by Duplicating Active Sheet

    3. Delete Connected Sheet(s)

    4. Add to Active Sheet

    5. Remove From Active Sheet

ORG-28648

CSV connector save Post Import Script as Default

Improved CSV Connector to support save Post Import Script as default settings.

Save post import script as default.jpg

ORG-28981

Better way to indicate project files opened from cloud

When open project from cloud, should show the cloud path on title bar.

Cloud path on title bar.jpg

ORG-29162

Google Sheet Connector App

Introduced GoogleSheets Connector to support import Google sheet(s) from Google drive or Google sheet(s) URL

  1. Select Data: Connect to File: Google Sheets to import google sheet from google drive.

  2. Select Data: Connect to Web… to import google sheet from google sheet URL.

ORG-27049

CSV Connector supports append columns from script

Added a bit 128 for LT wks.dc.flags to support append columns to import.

Example:

Code Block
string next, fname, path$=system.path.program$ + "Samples\Batch Processing\"; 
findfiles fname:=fname$ ext:="*.csv";
wbook.dc.add("CSV");
wks.dc.flags=128;	// turn on append cols mode
loop(ii,1,2)
{
	next$ = fname.GetToken(ii, CRLF)$;
	wks.dc.source$=next$;
	wks.dc.import();
}

...