LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

PlotStripChart - N Traces

Hi!

I am in doubt in how to plot a strip chart. I need to plot some data during a period of time.

I know how to plot 2 or 3 or N traces, but sometimes, I need different scales for the data that is plotted. I need to have tow or more different scales for Y axis.

Does anyone knows, if it is possible to add other Y axis next to the main Y axis in execution time?

Thank you in advance.

Gustavo
0 Kudos
Message 1 of 5
(3,831 Views)
Hello Gustavo,

The current version of CVI does not support multiple y-axes on the strip chart. There is a version coming out soon which will support two y-axes on the chart. Unfortunately, it does not support more than two.  If you think that would still be of help to you, and you'd like to try it out, you're welcome to sign up for the beta program at ni.com/beta.

Luis
0 Kudos
Message 2 of 5
(3,820 Views)

I had an application a couple of years ago which used a strip chart to plot 16 different items simultaneously. It was a little tricky especially when generating the (single) Y axis labels to be meaningful but the end result was pretty convincing. It can be done, if you are up for the challenge. Smiley Wink

JR

0 Kudos
Message 3 of 5
(3,816 Views)
I saw a solution once that the guy uses some transparent graphs in order to have many Y axis It works but it is a faked solution.Can you explain me what techiniques that you use to do the job?

Thank you in advance.

0 Kudos
Message 4 of 5
(3,810 Views)

I used a single large chart, with the Y axis scaled from 0 to 16. Each trace (plot) had an offset applied to it, ranging from 0.5, 1.5, ... to 15.5, thus allocating each of them a nominal area on the chart within which the trace could be drawn (suitable scaled). This approach allowed traces to overlap if needed, but as they were all in different colours this was actually quite effective. As the traces were allocated dynamically, I used the function ReplaceAxisItem() to update the axis labels with string names at the 16 chart division points. A bit of calculation of XY coordinates with details from GetRelativeMouseState() enabled identification of which trace the user was interested in and its value at any point.

Quite involved, really, to get all the functionality needed but it worked very well in the end.

JR

0 Kudos
Message 5 of 5
(3,784 Views)