Versions Compared

Key

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

Table of Contents
maxLevel4
minLevel2

Range Notation Improvements

Virtual Dataset for a Block of Cells (ORG-8226)

Code Block
//Import a sample data into a new book
fname$=system.path.program$ + "\Samples\Matrix Conversion and Gridding\DirectXY.dat"; 
newbook;
impasc;
//Define the first row (from column B to E) as the first block
range -v r1=B[1]:E[1];
//Define the first column (from row 2 to 6) as the second block
range -v r2=A[2:6];
//Assign the values in the first block to the second block
r2=r1;


Preserve Double Quotes (ORG-8267)

Code Block
range r1 = 1!; //First sheet in the activated workbook
range r2 = "1!"; //Column with long name "1!"

Substitution Notation Improvement (ORG-9221)

@option

Substitute Text From...

@LD"name"

The user-defined parameter with the specified name.

Create and plot a named range via virtual dataset (ORG-3423 )

Syntax: create name -nrs extract_rule [range_stringdesignationscope_range_string]

ValueMeaning
0Concatenate by column. Combine the values in a selected block of cells through column direction.
1Concatenate by row. Combine the values in a selected block of cells through row direction.
2Mean of row. Use the mean value of each row in selection.
3SD of row. Use the standard deviation of each row in selection.
4Even rows. Use the values in the even rows of selection.
5Odd rows. Use the values in the odd rows of selection.
Code Block
//Plot a graph with 1st row of worksheet as X, 2nd row of worksheet as Y
create myvsx -nrs 1 "[Book1]Sheet1![1]:[1]";//Create a virtual dataset myvsx from 1st row of Book1 Sheet1

create myvsy -nrs 1 "[Book1]Sheet1![2]:[2]";//Create a virtual dataset myvsy from 2nd row of Book1 Sheet1
plotxy (myvsx, myvsy);//Plot a graph, using myvsx as X and myvsy as Y
Code Block
//Plot a box chart from a block of cells
create myvsbox -nrs 1 "[Book1]Sheet1!1[2]:3[4]"; //Create a virtual dataset myvsbox from a block of cells
win -t p box; //Create a black graph window with box chart template
layer -i206 myvsbox;//Add virtual dataset myvsbox to the graph

LabTalk Callable OC function to Execute an

...

Operation (ORG-7877)

Click on the recalculate lock and select Show Info from the context menu to get the "operation_uid", then run execute_operation function.

...

Code Block
execute_operation(operation_uid);

Improve LabTalk "type -gb" command for text file

...

output (ORG-8306)

Code Block
type -gb [[e][f][r/n]] fileName;

...

New line is \r\n by default, n = use \n as new line, r = use \r as new line.  

Better error checking in LabTalk

...

function (ORG-9155)

In an OGS file, add the following script, and then run the main section, the error message will go to Message Log.

Code Block
[Main]
Function int aa(int nn)
{
	ty "inside function";
	sdf;//error
	return 1;
}

int nErr = aa(0);
ty "after function";

LT access to user color increment

...

list (ORG-8942)

LabTalk can now get or set in the same command area as set/get data plot colors. The syntax is:

Code Block
set %C -cue bval;  //set custom list enable

...


get %C -cue bval;  //get custom list enable

 

Sample:

Code Block
newbook;
col(A) = data(1,12);
col(B) = col(A);
plotxy (1,2);
set %c -ci 1;
set %c -cue 1;
set %c -cu 2 4 6 8;
dataset ds;
get %c -cu ds;

Labtalk Function to Generate Patterned

...

Data (ORG-7900)

  • To generate numeric data:

...

Code Block
col(B)=pattern(col(c), 2, 3); //data source, value repeat count, sequence repeat count
col(B)=uniform(30, col(A)); //randomly choose 30 elements from col(A) to fill col(B)

Range Notation Improvements

  • Support Variables for Row Subrange Notation:
Code Block
int a = 1;
int b = 12;
range rr=col(1)[a:b];

...

Code Block
//Import a sample data into a new book
fname$=system.path.program$ + "\Samples\Matrix Conversion and Gridding\DirectXY.dat"; 
newbook;
impasc;
//Define the first row (from column B to E) as the first block
range -v r1=B[1]:E[1];
//Define the first column (from row 2 to 6) as the second block
range -v r2=A[2:6];
//Assign the values in the first block to the second block
r2=r1;
  • Support Range Declaration for Local Loose Dataset:
Code Block
dataset ds1,ds2; 
range rngld1=[??]!ds1;
range rngld2=[??]!ds2[10:15];  
range aa=1!1, bb=2[10:15];  //Given col(a)&col(b) is filled with row numbers: 
rngld1=aa;
rngld2=bb;
  • preserve double quotes:
Code Block
range r1 = 1!; //First sheet in the activated workbook
range r2 = "1!"; //Column with long name "1!"

Substitution Notation Improvement 

(ORG-9221)

@option

Substitute Text From...

@LD"name"

The user-defined parameter with the specified name.

...

Layer (command) Supports Subrange (ORG-2940)

Code Block
range rr = wcol(2)[ 1:10 ]; win -t plot; layer -i rr; // Plot rows 1 to 10

New System Variables


JIRA
Function AreaVariableTypeDefaultSupportedDescription
ORG-7923Smart Labeling@SLDbool0 globally enable smart labeling of data label
 @SLDFdouble [0.0, 1.0]favor count factor, missing value means auto
 @SLDLbool0 look ahead
 @SLDMdouble  measure constant variant, missing value means auto
 @SLDRdouble  ray number, -1 means auto
 @SLDGdouble  Smart Labeling reposition gap
ORG-8396Hidden Row@GMHbool0 
  • Value = 1:
    The behavior of Origin is the same as before
  • Value = 0:
    Origin will not get missing value from hidden rows, except for analysis and plotting
ORG-5733 @b3d0bool1 whether minus values needs down drawing
 @b3d0bbool1 whether z=0 face shows black color
ORG-170Polar Grid@DPA 3  % of DPI as a minimum distance between closest grids
ORG-7993 @CWSint13 Change Worksheet search option bits.
1 = Compare column short name
2 = Compare column long name
4 = Compare column designation
8 = Compare column index.
ORG-9003 @OGLSLbool1 

1 = Enable shearing for axis titles and tick labels if they are in axis plane and 3D cube has been sheared.

0 = Disable their shearing.

ORG-7805Text Filter

@TFSint10,1,2,3

Text Filter label display

0=Enter, 1=Space (default), 2=Comma, 3=Semicolon

 @TFLdouble50 The max length of text filter label
ORG-6669 @AUFLbool  if it is non-zero, always set Auto as auto update mode; if @AUFL equals to zero, check whether there is an operation in the column, if there is, keep therecalculate mode, otherwise, set Auto as recalculate mode.
ORG-3262Paste Unicode@PSTUint40,1,2,3,4

 

ORG-3262Copy Unicode@COPUint10,1

0 = Disable to put unicode on clipboard

1 = Enable to put unicode on clipboard

ORG-5618 @ARDint00, 10 = Restrict direct arithmetic's like +2 in Script Window
1 = direct arithmetic's like +2 in Script Window. When enabled, user can highlight column B in worksheet, and then enter +3 in Script window to add 3 to each row of column B
ORG-8989Rescale When Manual@NRM 00,1

0 = Enable to scale in or scale out (old behavior) when axis scale is set to manual

1 = Disable to scale in or scale out when both axes scale are set to manual

 

New LT Objects/Properties/Methods

NameJIRADescription
wks.hierarchicalORG-8452LT property to indicate if worksheet is hierarchical (i.e., report sheets)

 

 

Provide Tooltip for any object with Script, Run After set – We will hide it in 9.1

...

)

...

For button in Graph or Worksheet with script behind it, if you set @GSB=1, when mousing over the button, tooltip will tell you how to view/edit script and how to delete the object.

...

LT command to list number of DataRange 

...

(ORG-7522)

Running script "list rng;" takes quite a long time to finish the listing. The following command will output the number of DataRange directly.

Code Block
doc.rangescount()=; /// all ranges
doc.rangescount(16)=; /// all empty ranges
doc.rangescount(32)=; /// all "AutoFill" ranges

 

Provide Tooltip for any object with Script, Run After set (ORG-8882)

For button in Graph or Worksheet with script behind it, if you set @GSB=1, when mousing over the button, tooltip will tell you how to view/edit script and how to delete the object.