What Is the Difference between Waveform Graphs and Waveform Charts in LabVIEW?

Updated Aug 23, 2019

Reported In


  • LabVIEW

Issue Details

How do I know when to use a Waveform Graph or a Waveform Chart in LabVIEW? What is the difference between these two ways to display data? Which one do I use to see the data history?


Waveform Graphs and Waveform Charts differ in the way they display and update data:

  • A Waveform Graph accepts arrays of data in various forms, e.g. array, waveform, or dynamic data. It then plots all the received points at once. It does not accept single point values. When an array of points is wired to a waveform graph, it assumes the points are equally spaced out. By default, the starting X value and step size (t0 and dt) are 0 and 1 respectively. This can be changed in the properties of the graph or using property nodes.
  • A Waveform Chart remembers and displays a certain number of points by storing them in a buffer. When the buffer gets full, the chart starts overwriting the oldest points with new ones. As the data points become available, the Waveform Chart displays received data in addition to already existing points. You can write single or multiple data points to it at once. If we wire an array of points to the chart, it will append those points to the existing ones. You can display multiple plots on the same chart by wiring in a cluster of points or a 2D array containing waveform or dynamic data for each plot. For example, if you wire in a cluster of three points, one point will be added to each of the three plots.
The following block diagram illustrates the difference in functionality:

In the top For Loop, auto-indexing is used to generate an array of 100 random values and then pass the entire array to the Waveform Graph. In the bottom For Loop, a new random value is passed to the Waveform Chart each iteration of the loop for 100 iterations.

Both loops result in the same output, but the Waveform Graph will update once after all data has been acquired, whereas the Waveform Chart will update 100 times while the program runs.

Additional Information

The waveform data type is essentially an array of points that also contains t0 and dt information. In this case, the Waveform Graph receives the t0 and dt contained within the waveform and displays the data accordingly. You can build your own waveform with data points, t0, and dt specified. You can also display multiple plots on the same Waveform Graph by wiring a 2D array of waveform or dynamic data to the graph.

You can set the length of the Chart History buffer (the number of points the chart will remember and display) by right-clicking on the chart and selecting Chart History Length from the shortcut menu.
It is also possible to change the chart history length or chart buffer size programmatically.

To switch between a Waveform Graph and a Waveform Chart, you can right-click on the graph or chart, select Replace, and then select the item of choice from the Controls Palette. The following screenshot shows how to replace a Waveform Graph with a Waveform Chart:


Not Helpful