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
 All Forums
 Origin Forum for Programming
 Forum for Origin C
 How to produce mass of pictures acoording to txt's

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Anti-Spam Code:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkUpload FileInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
ytyyutianyun Posted - 02/18/2012 : 05:46:06 AM
I use the origin 7.5

the data name is 1.txt(can be changed)

And the picture will be follow:

the text "node 1" is acoording to the name of txt "1"
xlabel and ylabel and increment is fixed
And the axis is fixed also.
How to do it. Thanks
11   L A T E S T    R E P L I E S    (Newest First)
greg Posted - 03/12/2012 : 2:01:49 PM
To WaltieL:

Theme properties only can be applied to existing objects with those properties. You cannot simply create a branch of a theme and create an object.

See
http://ocwiki.originlab.com/index.php?title=OCGuide:Creating_and_Accessing_Graphical_Objects
for examples that create various GraphicObjects and position them in relation to the axes scales.
WaltieL Posted - 03/11/2012 : 07:15:41 AM
Hi all.

I have the same problem (creation of many pictures). And the question is: how can i add the title on the picture?

In the example the title is already on the picture. So, what i suppuse to do is to change text property.

But what if i created GraphPage programmatically without any template and it is clear? I added curves, change lines properties, turned on TopTicks and RightTicks. But how can i add the title on the picture?

I tried this:

Tree trFormat;
GraphLayer gl = Project.GraphPages("Graph1").Layers(0);

trFormat.Root.Axes.X.Titles.TopTitle.show.nVal = 1;
if(0 == gl.UpdateThemeIDs(trFormat.Root)) { gl.ApplyFormat(trFormat, true, true); }

trFormat.Root.Axes.X.Titles.TopTitle.AddNode("Text").strVal = "TopTitle";
if(0 == gl.UpdateThemeIDs(trFormat.Root)) { gl.ApplyFormat(trFormat, true, true); }

Both conditions returns "true", but both ApplyFormat() returns "false".

How to turn on TopTitle, or add text to GraphPage?
ytyyutianyun Posted - 02/21/2012 : 02:25:21 AM
Thanks ,I have got the answer.
Penn Posted - 02/20/2012 : 8:47:24 PM
Hi,

You can use the document -e W command to loop all worksheets in the project, and the worksheet -s and worksheet -p can be used to select columns and plot them respectively. For example:

document -e W {
	worksheet -s 3 0 3 0;  // select the thhird column
	worksheet -p 200 Line.otp;  // plot the third column
}


Penn
ytyyutianyun Posted - 02/20/2012 : 06:53:07 AM
The data are from several worksheet.
And I want to plot the figure each worksheet.
each worksheet using the 1st column(x axis)and the 3rd column(y axis)
ytyyutianyun Posted - 02/20/2012 : 06:51:21 AM
win -a adata$(3)


I have some idea of problem.
May be I have not active the window, have I ?
Can you give me some hints or modified
Thanks
ytyyutianyun Posted - 02/20/2012 : 02:19:17 AM
I have tried and nothing happen also
May be something wrong in my program
Penn Posted - 02/20/2012 : 12:11:48 AM
Hi,

The script is in the section [main]. Maybe you can try this command:

run.section(tp.ogs, main);


Penn
ytyyutianyun Posted - 02/19/2012 : 10:56:39 PM
your code is based on the fact that I have made the picture
But the more thing is that I want to produce mass of pictures

I have try some ex.

First,I open all the txts' and save the picture template

and save the code to tp.ogs
[main]
	
doc -cw adata; // count test worksheets
loop(i,1,8) {

win -a a	data$(i); // activate next wks

wks.col$(1).type=4; // make this column X (correction)
wks.col$(3).type=1; // make this column Y (correction)

%W=%H; // save wks name

win -t p "www\LINE.otp"


lay -a;

layer.x.from = 0;
layer.x.to = 800;
layer.x.inc = 100;
};


run.section(Graph,MergeAllPages);


But then nothing happen what's wrong?

Thanks
Penn Posted - 02/19/2012 : 10:38:23 PM
Hi,

You can get the data name when you import the data. Here, I assume there is already a text object on the graph. Then you can refer to the following code. In Origin 7.5, it will be much easier to use LabTalk command to handle the axis format, so, the LT_execute function is used.

void textobject_75()
{
	GraphLayer glMyLayer("Graph1");  // the graph name "Graph1"
	GraphObject goMyObj = glMyLayer.GraphObjects("Text");  // get the text object, need to know the text object name
	goMyObj.Text = "Node" + "1";  // set text
	
	GraphObject goXTitle = glMyLayer.GraphObjects("XB");  // get the bottom x title
	goXTitle.Text = "x" + "1";   // set text

	GraphObject goYTitle = glMyLayer.GraphObjects("YL");  // get the left y title
	goYTitle.Text = "y" + "1";  // set text
	
	string strCmd = "layer.x.inc = 5;";  // x increment
	strCmd += "layer.y.inc = 5;";  // y increment
	strCmd += "layer.x.from = -2.5;";  // x from
	strCmd += "layer.x.to = 22.5;";  // x to
	strCmd += "layer.y.from = -2.5;";  // y from
	strCmd += "layer.y.to = 22.5;";  // y to
	
	LT_execute(strCmd);  // execute the LabTalk command
	
	glMyLayer.GetPage().Refresh();  // refresh the graph
}


Penn
ytyyutianyun Posted - 02/18/2012 : 05:50:03 AM

The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000