Create second y axis with different scale...axis break?
Oogendune
I am graphing a data set that has a large range in values. The part of the graph that looks like a red line is actually small peaks of data values less than 200. I want to make break in my graph and add a new y-axis and change the scale. I've been looking for answers for days...and I don't even know if this is possible. I've tried using packages>split axis and following some directions in the manual but I can't get the desired graph.
Any help would be appreciated.
Thanks.
1) display the data and shrink the bottom axis to maybe 28% (Axis -> Draw between: 0%-28%)
2) use 'append to graph' to add the data again, but this time define new axes for left and bottom
3) Edit your new bottom axis: draw between 32%-100% and free position 0 (distance from margin)
4) Edit your new left axis position: Switch to 'Fraction of Plot Area' and dial in the same number as for the bottom axis position (= 32 in this case)
... now you have the data on two axis. One part going from 0%- 28% for your high intensity data and one part with an extra axis going from 32%-100% for your low intensity data.
Adjust the range of the two axes appropriately. You can expand or shrink the two areas of course, but don't forget to move the 2nd intensity axis to fit the 2nd bottom axis.
July 22, 2010 at 08:01 am - Permalink
This is possible. The trick is to plot the data twice on two different sets of axes.
Take a look at the following Igor commands that shows the procedure. You can then easily map the solution to your problem and adjust everything appropriate.
•display tw
•append/l=y1/b=x2 tw
•ModifyGraph rgb=(65535,0,0)
•SetAxis left 0,1;DelayUpdate
•SetAxis bottom 0,60;DelayUpdate
•SetAxis y1 0.007,0.018;DelayUpdate
•SetAxis x2 60,127
•ModifyGraph mirror=0,standoff=0
•ModifyGraph nticks(x2)=9,minor(x2)=1,sep(x2)=10,lowTrip(y1)=0.01;DelayUpdate
•ModifyGraph axisEnab(bottom)={0,0.5},axisEnab(x2)={0.5,1},freePos(y1)={60,bottom};DelayUpdate
•ModifyGraph freePos(x2)=0;DelayUpdate
You can copy and paste the commands line by line (or all at once) into Igor's command line and see what's happening.
Andreas
July 22, 2010 at 08:42 am - Permalink
As an alternative, you can also multiply your data past a certain point by a scaling factor. Presuming your y-data wave is called counts and the point (not the mass value) in this wave after which you want to change the scale is cpnt, try the following in the command line ...
counts[cpnt,]*=100
counts[cpnt,]/=200
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
July 22, 2010 at 08:25 am - Permalink
July 22, 2010 at 08:45 am - Permalink