Showing results for 
Search instead for 
Did you mean: 

Turning on and off multiple y values in xy graph

I have a thermocouple with 8 channels that I'd like to read into LabVIEW. However, I will only rarely be using all 8 channels and the number of channels I will be using will be arbitrary, as will the index of the thermocouple (so I could be using channels 1,2,5,7, and 8 for example). 


I want to graph only the channels that are active at any given time, but I'm finding it hard to do this. I don't want to bog the program down by creating arrays for all 8 channels all the time then only picking which to display, since I'll virtually never need all 8 channels and this will run for days at a time. 


Right now, I have a one dimensional time array of dimension n and a two dimensional temperature array of dimension n x (number of active thermocouples). It would be really nice if I could just specify the time array as the set of x values and the temperature array as the set of y values, but I'm finding it really hard to do this. 


Any ideas for graphing x vs arbitrary number of y in real time?


I've attached my program for reference. Relevant code is at the bottom with the "tc08cmdline.exe" call. 

0 Kudos
Message 1 of 5

Just use the Plot Legend with the Plot visibility checkbox visible

"Should be" isn't "Is" -Jay
0 Kudos
Message 2 of 5

@JÞB wrote:

Just use the Plot Legend with the Plot visibility checkbox visible

You can also programmatically do this as well.


Programmatically change plot visibility

0 Kudos
Message 3 of 5

I am grateful for the answers, though they don't address the heart of my question. I know how to turn off the display of the data, but the display isn't the problem. I want to limit the memory usage associated with storing the data from 8 channels all the time while I may only be using 3 or 4, so I'm only building and graphing the active channels and ignoring the rest. The program needs to be able to do this switching on the fly, so if an additional thermocouple is turned on, the data logging for that channel needs to be turned on and displayed. 

0 Kudos
Message 4 of 5

Actually what is your sampling rate? For temperature sensors I imagine you do not need high speed, maybe max 1 Hz. 8 channels per one hour will take only 3600 X 8, still not really memory consuming. I would not bother with the extra programming, just collect all your channels all the time. Limit the array sizes you keep in RAM, and only show the required plots in the Graph. But of course only record the required channels, not all 8 to a TDMS file...


edit: and of course for display, decimate your data when you have more data points "horizontally" than the number of pixels of the XYGraph in your monitor...

0 Kudos
Message 5 of 5