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
 Origin Forum
 Ternary Contour without normalization

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
ed_in Posted - 02/06/2019 : 2:40:09 PM
Origin Ver. and Service Release (Select Help-->About Origin): OriginPro 2018 SR1 b9.5.1.195
Operating System: Windows 8 64-bit

Hi,

Please, would you orient me? I need to plot a ternary contour graphic without normalization, although I choose YES or NO normalize, OriginLab does it (https://www.originlab.com/doc/Origin-Help/Ternary-Contour), I found another similar question https://my.originlab.com/forum/topic.asp?TOPIC_ID=42068 but it is for a ternary diagram and I don´t know how to add the extra column to script.

My data are:



A B C D
0.3 0.5 2.309 2
0.3 0.6 2.392 2
0.4 0.5 1.222 2
0.4 0.6 2.024 2
0.4 0.7 2.093 2
0.5 0.5 0.933 2
0.5 0.6 1.104 2
0.5 0.7 1.325 2
0.5 0.8 1.7 2
0.5 0.9 2.517 2
0.6 0.5 0.714 2
0.6 0.6 0.805 2
0.6 0.7 1.159 2
0.6 0.8 1.727 2
0.6 0.9 2.334 2
0.6 1 1.975 2
0.7 0.5 0.461 2
0.7 0.6 0.931 2
0.7 0.7 1.242 2
0.7 0.8 1.2 2
0.7 0.9 1.51 2
0.7 1 1.812 2
0.7 1.1 2.16 2
0.7 1.2 2.145 2
0.8 0.5 0.415 2
0.8 0.6 0.795 2
0.8 0.7 0.946 2
0.8 0.8 1.03 2
0.8 0.9 1.284 2
0.8 1 1.38 2
0.8 1.1 1.868 2
0.8 1.2 2.041 2
0.8 1.3 2.677 2
0.9 0.5 0.393 2
0.9 0.6 0.454 2
0.9 0.7 0.654 2
0.9 0.9 1.216 2
0.9 1.1 1.457 2
0.9 1.2 2.037 2
0.9 1.3 2.099 2
0.9 1.4 2.522 2
1 0.5 0.355 2
1 0.7 0.625 2
1 0.9 1.09 2
1 1 1.325 2
1 1.2 1.74 2
1 1.3 2.142 2
1 1.4 2.441 2
1 1.5 2.749 2
0.3 0.5 2.92 2.5
0.3 0.6 2.813 2.5
0.4 0.5 1.115 2.5
0.4 0.6 2.068 2.5
0.4 0.7 2.217 2.5
0.5 0.5 1.183 2.5
0.5 0.6 1.359 2.5
0.5 0.7 2.148 2.5
0.5 0.8 2.73 2.5
0.5 0.9 2.62 2.5
0.6 0.5 0.63 2.5
0.6 0.6 0.961 2.5
0.6 0.7 1.284 2.5
0.6 0.8 1.769 2.5
0.6 0.9 1.914 2.5
0.6 1 2.851 2.5
0.7 0.5 0.597 2.5
0.7 0.6 1.507 2.5
0.7 0.7 0.978 2.5
0.7 0.8 1.122 2.5
0.7 0.9 1.56 2.5
0.7 1 1.645 2.5
0.7 1.1 2.268 2.5
0.7 1.2 2.81 2.5
0.8 0.5 0.463 2.5
0.8 0.6 0.718 2.5
0.8 0.7 0.954 2.5
0.8 0.8 1.15 2.5
0.8 0.9 1.3 2.5
0.8 1 1.733 2.5
0.8 1.1 1.682 2.5
0.8 1.2 2.771 2.5
0.8 1.3 2.796 2.5
0.9 0.5 0.439 2.5
0.9 0.6 0.508 2.5
0.9 0.7 0.78 2.5
0.9 0.8 1.009 2.5
0.9 0.9 1.252 2.5
0.9 1 1.29 2.5
0.9 1.1 2.129 2.5
0.9 1.2 2.294 2.5
0.9 1.3 2.108 2.5
0.9 1.4 2.528 2.5
1 0.5 0.338 2.5
1 0.6 0.517 2.5
1 0.7 0.937 2.5
1 0.8 0.909 2.5
1 0.9 0.901 2.5
1 1 1.628 2.5
1 1.1 2.132 2.5
1 1.2 2.242 2.5
1 1.3 2.4 2.5
1 1.4 3.223 2.5
1 1.5 3.297 2.5
0.5 0.9 2.485 3
0.6 0.6 1.049 3
0.6 0.7 1.406 3
0.6 0.8 1.936 3
0.6 0.9 2.397 3
0.6 1 3.414 3
0.7 0.5 0.526 3
0.7 0.6 0.711 3
0.7 0.7 1.137 3
0.7 0.8 1.914 3
0.7 0.9 1.981 3
0.7 1 1.982 3
0.7 1.1 3.05 3
0.7 1.2 2.88 3
0.8 0.5 0.507 3
0.8 0.6 0.777 3
0.8 0.7 0.978 3
0.8 0.8 1.359 3
0.8 0.9 1.573 3
0.8 1 1.901 3
0.8 1.1 2.89 3
0.8 1.2 3.047 3
0.8 1.3 3.833 3
0.9 0.5 0.387 3
0.9 0.6 0.751 3
0.9 0.7 1.017 3
0.9 0.8 1.696 3
0.9 0.9 1.37 3
0.9 1 2.192 3
0.9 1.1 2.143 3
0.9 1.2 3.358 3
0.9 1.3 2.915 3
0.9 1.4 3.553 3
1 0.5 0.639 3
1 0.6 0.68 3
1 0.7 0.718 3
1 0.8 1.07 3
1 0.9 1.334 3
1 1 2.258 3
1 1.1 1.95 3
1 1.2 2.13 3
1 1.3 2.622 3
1 1.4 3.218 3
1 1.5 3.38 3



And I need found every data in the graph, however, it is impossible with a normalized diagram.



Like an exercise I ran the script mentioned before without the D column:
////////////////////////////////////////////////////////////
If(wks.ncols!=3) {type -b Your worksheet should have exactly 3 columns; Return;}
wks.colsel(1,0); wks.colsel(2,0); wks.colsel(3,0);  //Clear highlighted columns
max1=max(col(1)); min1=min(col(1));
max2=max(col(2)); min2=min(col(2));
max3=max(col(3)); min3=min(col(3));
Xmin=prec(min1,6); Xmax=prec(max1,6); 
Ymin=prec(min2,6); Ymax=prec(max2,6); 
Zmin=prec(min3,6); Zmax=prec(max3,6);
gtyp$="Line+Symbol Scatter Line";
igtyp=1;
getN 
  (Graph Type) igtyp:gtyp$
  (X Axis Range) :@G (X From (<$(min1,*3))) Xmin (X To (>$(max1,*3))) Xmax (-) :@G
  (Y Axis Range) :@G (Y From (<$(min2,*3))) Ymin (Y To (>$(max2,*3))) Ymax (-) :@G
  (Z Axis Range) :@G (Z From (<$(min3,*3))) Zmin (Z To (>$(max3,*3))) Zmax (-) :@G
  (General Linear Ternary Plot);  //Ask axis ranges
worksheet -a 6;    //Add 6 columns
col(4)=(col(1)-Xmin)/(Xmax-Xmin);     //Maps X to 0-1 range
col(5)=(col(2)-Ymin)/(Ymax-Ymin);     //Maps Y to 0-1 range
col(6)=(col(3)-Zmin)/(Zmax-Zmin);     //Maps Z to 0-1 range
col(7)=col(4)/(col(4)+col(5)+col(6)); //Normalize X
col(8)=col(5)/(col(4)+col(5)+col(6)); //Normalize Y
col(9)=col(6)/(col(4)+col(5)+col(6)); //Normalize Z
col(7)[L]$=col(1)[L]$; col(8)[L]$=col(2)[L]$; col(9)[L]$=col(3)[L]$; //Take care Long Names
wks.col7.type=4;  //Col(7) as X
wks.col9.type=6;  //Col(9) as Z
wks.colsel(9,1);  //Highlight Z column
worksheet -P 245 Ternary;  //Make a Ternary plot;
if(igtyp==1)      layer -i202 %C; //Line+Symbol
else if(igtyp==2) layer -i201 %C; //Scatter
else if(igtyp==3) layer -i200 %C; //Line
//Set formulae for tick labels
String str$, str1$, str2$; 
str1$=$(XMax); str2$=$(XMin); str$="x*("+str1$+"-"+str2$+")+"+str2$; layer.x.label.formula$=str$; 
str1$=$(YMax); str2$=$(YMin); str$="x*("+str1$+"-"+str2$+")+"+str2$; layer.y2.label.formula$=str$; 
str1$=$(ZMax); str2$=$(ZMin); str$="x*("+str1$+"-"+str2$+")+"+str2$; layer.z.label.formula$=str$;
////////////////////////////////////////////////////////////


However, I get a plot that doesn´t show the points related to my data though such as (0.3 0.5 2.309), (0.7 0.9 1.51), etc.



In summary, I need to find the real data in the generated plot.

Thank you for your time and I would be grateful for any suggestions.

Cheers!

-Edwin
1   L A T E S T    R E P L I E S    (Newest First)
Chris D Posted - 02/06/2019 : 5:16:56 PM
Hi,

As Greg in the post you linked to stated:
"... a ternary plot represents the fraction of a whole (0 to 1) or percent (0 to 100) of each of three variables."

That script was an attempt to overcome this limitation, and, as you can see, isn't a universally applicable script. Indeed it may take qute a bit of work to make it work for you.

Can you email tech@originlab.com and reference this post and we can continue that way in case multiple questions arise. Also be sure to include the last seven digits of your Origin serial number. We will need to have that.


Thanks,
Chris Drozdowski
Originlab Technical Support

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