Graphing upgrades
bech
1) It would be nice for the Cityscape mode to have "fill to zero / fill to next".
2) It would similarly be nice to have transparency for fill modes. For example, if one graphs two curves with fill to zero, one could then see the overlap explicitly, since it would be darker than the shades of the two curves (or a blended color if two colors were used). The rather misleading "% Fill" option merely changes the saturation of the color.
1) From the "replace wave" dialog: I would like to be able to change multiple traces at the same time.
As it is you can only change X and/or Y for 1 trace, and if you select another trace before "Do it" these changes are lost. I often have multiple traces on one graph and need to change the X axis on all or change the plot range on all. As is, multiple lines of command line typing is faster than the dialog, but still not efficient.
2) On a similar note, I would like to change the axis association of an existing trace. For example: in an XY plot, I would like to associate the Y value of a given trace with the Right axis instead of the Left. (without loosing all my trace preferences -colors,symbols,error bars)
Thank you.
J.K.
NASA GRC
Cleveland, OH
April 28, 2011 at 02:00 pm - Permalink
July 25, 2011 at 01:15 pm - Permalink
I would love to see transparency as a more general concept in Igor. It would be especially nice if any color designation in Igor would accept not just (R,G,B) values, but also (R,G,B,A) values. An obvious example where this would be useful (in addition to your suggestion) is when plotting two or more histograms, where right now the histogram that is topmost effectively shadows the lower plots. As far as I know there is no elegant solution to this problem in the current Igor.
This should also be pretty interesting when displaying images, where (R,G,B,A) could be recognized as a standard display format, similar to how image plots will recognize (R,G,B) today. This would make for some interesting blending effects.
July 26, 2011 at 07:05 am - Permalink
You can do overlapping fill modes but only for the pattern types and with a "magic" white background color. See
DisplayHelpTopic "Drawing Improvements 6.1"
Image plots do support RGBA already. Search the What's Changed Since 6.10.ihf for "Image plots now support 4 plane RGBA image waves."
As for support for solid fill colors with RGBA, that is something that I have recently added for the future Igor Pro 7. But IP7 is no where near even an alpha release so there will be quite a wait.
August 8, 2011 at 10:50 am - Permalink
That wouldn't do exactly what I was after, but it did make me realize that there is a way to do "Cityscape fill to zero". In essence, you have two copies of a graph. The first uses bars mode and makes the outline on the bar the same color as the solid fill. The second uses Cityscape. Do it in that order for the traces to look right. Here's a quick demo to show what it looks like.
Make/N=30/O w_Hist;DelayUpdate
Histogram/B=1 w,w_Hist
Display /W=(570,70,965,278) w_Hist,w_Hist
ModifyGraph mode(w_Hist)=5,mode(w_Hist#1)=6
ModifyGraph lSize(w_Hist#1)=2
ModifyGraph rgb(w_Hist)=(65535,49151,49151)
ModifyGraph hbFill(w_Hist)=2
ModifyGraph usePlusRGB(w_Hist)=1
ModifyGraph plusRGB(w_Hist)=(65535,49151,49151)
I will stand by the statement, though, that it would be a convenience to be able to do this with a single trace as an option to Cityscape.
Full support for transparency effects through RGBA is a great idea. It will make IP7 worth the upgrade on its own....
John Bechhoefer
Department of Physics
Simon Fraser University
Burnaby, BC, Canada
August 17, 2011 at 06:02 am - Permalink
Cheers,
B.S.
November 25, 2011 at 03:18 am - Permalink
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
November 26, 2011 at 10:04 am - Permalink
I suspect that Java was asking for something like how the data browser plots complex waves. It plots the real and imaginary components separately, in different colors, instead of plotting both components together in one trace, which is the default behavior in graphs.
November 27, 2011 at 08:36 am - Permalink
I look at a complex wave as one object from which I can display several 'properties' and I guess you at Wavemetrics have the philosophy of handling the real and the imaginary part as independent waves.
I try again to explain what I mean: Assume you have a complex wave with some x scaling and you want to plot it. It is - not only for me - unintuitive to create a graph which plots let's say three copies of the same wave 'just to display real and imaginary part and the magnitude'. What is intuitive for me and others of my group is to plot one wave and then select in the graph properties window which parts I want to display - and also which color to use for which 'property'. It is more or less the other way around.
I guess this also goes together with allowing different scaling factors, offsets and error bars for real and imaginary parts.
Up to now I just was to lazy to write a plotting function which would do all the jobs for me, so I had to type
ModifyGraph cmplxMode(wave)=3,cmplxMode(wave#1)=1;DelayUpdate
ModifyGraph cmplxMode(wave#2)=2,cmplxMode(wave#3)=4
ModifyGraph rgb(wave)=(0,0,0),rgb(wave#2)=(0,0,65535);DelayUpdate
ModifyGraph rgb(wave#3)=(3,52428,1)
What I suggest is something like:
ModifyGraph cmplxMode(wave)=15; // binary 1111 for displaying magnitude,real and imaginary part and phase
//Here I don't know how to solve the color part and so on
Anyway it's just a suggestion, and as I said one could write a small function which does the job. Only cahning things in the properties window is still little bit strange ;)
Cheers,
B.S.
November 28, 2011 at 08:40 am - Permalink
July 23, 2014 at 12:25 pm - Permalink
http://www.igorexchange.com/project/GraphControl
April 7, 2015 at 12:37 pm - Permalink