You can create multiple plots, and send different data to each, using channels. This is useful if, for example, you’d like to plot temperature on one graph and battery voltage on another. Both Time Plots and XY Plots support multiple plots. And you can have as many plots as you like.

To use multiple plots with our Arduino library, pass a channel name when you create a plot variable.

For example: TimePlot SinePlot("Sin"), CosinePlot("Cos"); will create two TimePlot variables. One named SinePlot and the other named CosinePlot. SinePlot will send data to a channel named “Sin” and CosinePlot will send data to a channel named “Cos”.

MegunoLink detects new channels automatically and includes them on the plot by default. So you’ll see both the sine and cosine curves on a single plot when running the Arduino sketch above:

All channels, one plot

MegunoLink shows data from all channels on a single plot by default.

The channels shown by a plot is controlled by the channel selector on the visualizer toolbar.

  • When Select new automatically is selected, any newly discovered channels will be shown on the plot
  • When Select default is selected, the default channel (the one you get with a TimePlot Default; variable declaration) will be shown
  • When specific channels are selected, only those channels will appear on the plot
Automatically plot all channels

When Select new automatically is selected, any new channels will be included on the plot automatically.

To split the channels across multiple plots:

  1. Create a new time plot by selecting it from the visualizers menu.
  2. Use the channel selector to choose which channels you want to see on each plot.

So by selecting specific channels for each visualizer you can show data on multiple plots:

Show data on multiple plots

Select channels to show data on multiple plots

Data on multiple plots

Show data on multiple plots by selecting the channels you want to see on each plot.

Recent Posts
Showing 2 comments
  • jeremy w
    Reply

    I like this ‘channels’ feature for cleaning up lots of data. But I’m sending one measurement to several different places: a time plot, a table, a track bar, and progress bar. That duplication is filling up my serial channel, so I’m wondering if building this workaround will work:

    Only send that one piece of Arduino data to a Table, then have a timer transmit a reformatted string with that variable through a separate ‘paperclip loop’ serial port to populate the other fields. Will that work? Is there a better way?

    • Philip Rowe
      Reply

      Hi Jeremy, I suggest you use the message monitor to send specific text you want to see. The standard monitor will be full of messages but only the messages targeted to the message monitor will come through there.

      Cheers
      Phil

Leave a Comment

Start typing and press Enter to search