The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
Username:
Password:
Save Password
Forgot your Password? | Admin Options

 All Forums
 Origin Forum for Programming
 LabTalk Forum
 To create graphs directly from script
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

pcvolkmar

Germany
Posts

Posted - 08/26/2005 :  06:29:57 AM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Origin Version (Select Help-->About Origin):
Operating System: win 2000

for example I have this table with this values:

A(X) B(Y) C(Y) D(Y)
-------------------------
1 12 19 23
2 23 28 45
3 34 37 01
4 45 45 73
5 56 54 09

and my Script is so:
%W=%H;
win -a %W;
worksheet -s 2 0 4 0; # axis x: col2 ,axis y: col4
worksheet -p 201 scatter;
layer -i %W;
win -a Graph1;

win -a %W;
worksheet -s 2 0 3 0;#axis x:col2 , axisy:col3
worksheet -p 201 scatter;
layer -i %W;
win -a Graph2;

the result that I obtain is not the awaited one
I obtein in each graph more than a linear representation:

for example:
win -a %W;
worksheet -s 4 0 3 0;#axis x:col4, axisy:col3
worksheet -p 201 scatter;
layer -i %W;
win -a Graph2;

(x,y):col1,col4
(x,y): col1,col3
And it does not correspond to the axes that I have put behind the commentaries.
I want:
(x,y): col4,col3

I wish a single linear representation of two columns,these representation no depend on col1.

Thanks a lot,
Volkmar.

Mike Buess

USA
3037 Posts

Posted - 08/26/2005 :  08:43:27 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi,

The command 'worksheet -s 2 0 3 0' selects columns 2 and 3 but does not make column 2 an X column. You must first assign an X column and then use worksheet -s to select the Y columns you want to plot against it...

%W=%H;
win -a %W;
wks.col1.type=2; // disregard col A... you need only one X column
wks.col2.type=4; // make col B an X column... B(X)
worksheet -s 4 0 4 0; // select Y col 4 for plotting
worksheet -p 201 scatter;
//layer -i %W; // this makes no sense
//win -a Graph1; // graph should already be active

win -a %W;
worksheet -s 3 0 3 0; // select Y col 3 for plotting
worksheet -p 201 scatter;
//layer -i %W;
//win -a Graph2;

Your last example (where col 4 is X) is more complicated. A wks can have more than one X column but a Y column will always be plotted against the closest X column on the left. Therefore you can't plot col 3 vs col 4. You need to move one of those columns...

win -a %W;
wo -a 1; // add a column (E) on the right
col(5)=col(3); // copy col C to E
wks.col4.type=4; // D(Y)-->D(X)
worksheet -s 5 0 5 0; // select col E
wo -p 201 scatter; // plot col E(Y) vs col D(X2)

...That last script won't work because col(D) is used as a Y column earlier. Also, the 01 entry at row 3 of col(D) causes the column to be formatted as text so the plot will not look right. I think the following is what you want.

%W=%H;
//win -a %W; // not necessary, %H is already active
loop (i,1,4) {wks.col$(i).format=1}; // format col as numeric (01-->1)
wks.col1.type=2; // disregard col A
wks.col2.type=4; // make col B an X column... B(X)
worksheet -s 4 0 4 0; // select Y col 4 for plotting
worksheet -p 201 scatter; // plot C(Y) vs B(X)

win -a %W;
worksheet -s 3 0 3 0; // select Y col 3 for plotting
worksheet -p 201 scatter; // plot D(Y) vs B(X)

win -a %W;
wo -a 2; // add 2 cols (E and F) on the right
col(5)=col(4); // copy col D to E
col(6)=col(3); // copy col C to F
wks.col5.type=4; // E(Y)-->E(X2)
worksheet -s 6 0 6 0; // select col 6 (F)
wo -p 201 scatter; // plot F(Y2) vs E(X2)

Mike Buess
Origin WebRing Member

Edited by - Mike Buess on 08/26/2005 09:09:59 AM

Edited by - Mike Buess on 08/28/2005 1:10:49 PM
Go to Top of Page
  Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000