Adding arrow markers to curve
r.clark1
I have been trying for a while to add arrows to one of my graphs for some of my studies. I have looked in the IGOR manual and on these forums but I couldn't find a solution. Perhaps you could help - I imagine it wouldn't be too hard to add them, but simply don't know how. Previously I've simply added arrows using a drawing tool. However it would be much nicer to have the arrows as sparse markers on the curve, once more curves are shown on the same graph. I've seen that you can add arrows as markers which is what I want, however they are simply triangles and don't have a direction. The attached image should show what I mean. The arrows simply indicate the scanning direction of potential.
Thank you
EDIT: It looks like the "arrow" markers have an "arrow control" which I'm assuming controls the direction of the arrow. You may be able to model parts of your data with some sort of polynomial, then take the derivative for the directions of the arrows. It all depends on how accurate and professional you want them to look. Again, I'm making assumptions here, so I may be wrong. Here are some things to read up on and look.
How to use the arrow marker.
DisplayHelpTopic "ModifyGraph for Traces"
There's also two demo programs which may be of help to you. (And have example data and graphs that use arrows.)
Mine was under File->Example Experiments->Feature Demos 2->Barbs and Arrows and File->Example Experiments->Graphing Techniques->Arrow Plot
September 10, 2015 at 09:37 am - Permalink
make/O junk=exp(-x/8);display junk
make/O junk2=exp(-x/5)
duplicate/O junk2, junk2x
junk2x=x
reverse junk2, junk2x
append junk2 vs junk2x
// Make arrow markers at 10X fewer points than in original backwards data
make/O/n=(numpnts(junk2)/10) junk2sparse, junk2sparseX
junk2sparse = junk2[p*10]
junk2sparseX=junk2x[p*10]
append junk2sparse vs junk2sparseX
ModifyGraph mode(junk2sparse)=3
ModifyGraph arrowMarker(junk2sparse)={_inline_, 1, 10, .6, 2}
// Make arrows markers at 10x fewer points than original forwards data
make/O/n=(numpnts(junk)/10) junksparse
junksparse=junk[10*p]
setscale/P x 0,10,junksparse
append junksparse
ModifyGraph mode(junksparse)=3
ModifyGraph arrowMarker(junksparse)={_inline_, 1, 10, .6, 2}
Copy all the commands above, paste them into Igor's command line and press Enter. The result isn't great on the horizontal part of the traces; I think your data will look better. You will need to fine-tune the "sparsity factor" (10X in my example).
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
September 11, 2015 at 10:12 am - Permalink
September 14, 2015 at 09:15 am - Permalink