Here is a graph I made recently, which shows particle number (symbol), material (broad color family), measurement location (exact color), amplitude (X axis) and phase (Y axis). That's five dimensions in a 2D graph! There are some obvious limitations. For instance, there are only 16 symbols, so whatever you're representing by choice of symbol better not have more than 16 categories. And there are only so many colors, especially if you want them all to be ordered in a spectrum from red to violet. It gets worse when you try to have "broad color family" like I do here with reddish colors for aluminum and bluish for titanium, because the obvious logical thing to do is to skip over some shades in between the families, reducing the total number of available colors.
What other options should I consider? How do you do it? I don't usually use 3D graphs because (a) they're harder to work with and (b) when I create a report for management, they like to have 2D images they can print out, or view without needing Labview on their computer.
I'm attaching two VIs I use to create color spectra for my graphs. I use colors_darken_lighten to darken plots for a white background. To skip over colors, I obtained 6 colors in my spectrum and reshaped the array to two-by-three, then indexed by measurement location to get the first two colors from each broad color family.
By Mike King
Hi, I figured people here may be more interested in this project.
I have some cool graph extensions I'm building in an open source project, which make some nice graphical overlays for XY graphs and waveform graphs in LabVIEW. I've got a github page where you can grab the code, support the project or just have a look at some of the same screenshots.
Everything updates live in the graph, so you really need to see it, to get how it all works, so here you go:
Please star follow the project if you want to see this developed and I'd appreciate any feedback or ideas to extend it further. The markers are very much IN development right now, so no where near finished, but the tools can still be seen working. THANKS!
I'm trying to programmatically update the names of five plots in a digital waveform graph. The plots are in a particular order which corresponds neatly withe the order in the legend as in the order under the "Plots" tab in the properties window.
However when I try to update the Plot.Name property for each plot by stepping through the ActPlot property the order seems to be 1-2-3-4-0, i.e. when I try to change the name of ActPlot=0 it affects the last plot instead of the first.
What gives? Is there any other indexing property instead of ActPlot I can use which LabVIEW uses to keep track of the plot order? I'm just updating an old vi so it would be nice if it could be solved without altering the waveform used as an input to the graph.
I just recently had a need for XY chart functionality in my application. The example NI has on its website was a little too simple, as I needed support for multiple curves. I've attached the VI and some examples, would love to hear any critiques you have.
My graph is a XY Graph but the X-scale is just the time. I use the XY Graph in order to define the time stamp of each sample. I use cursors that I snap to the plots in order to display the plots' names. Everything works well when all the plots are displayed against Y-scale 0. But when switching a plot to Y-scale 1, the associated cursor keeps moving like if its plot was still on Y-scale 0. Simply dragging the cursor with the mouse a little bit snaps it to its plot properly (value displayed against Y-scale 1).
I tried using the Cursor.YScale property of the cursor but it doesn't seem to help.
Has any of you encounter this issue?
I am using LV 2011.