How to Show Cursor Or Marker in TestStand Report Graph

Updated May 13, 2026

Environment

Software

  • TestStand
  • LabVIEW

TestStand supports displaying one- and two-dimensional measurement array data as a graph in ATML 6.01, ATML 5.0, XML, and HTML reports using the HTML5 graph control, located in the %teststand%\Components\Models\TestStandModels\GraphControl directory. The graph control supports displaying data as a Y plot or as an XY plot. The graph control supports orientation of the array data by rows or columns.

However, TestStand does not provide native support for features such as interactive cursors, markers on specific data points, or annotations like peak indicators. As a result, it is not possible to directly add cursors or markers to graphs using the standard reporting capabilities.

In this article, we demonstrate an alternative approach by generating the graph externally using LabVIEW as the adapter, then saving it as an image and importing it into the TestStand report.

  1. Acquire or compute the waveform data in TestStand.
  2. Pass the data to an external module via adapter. In this example, we will be using LabVIEW.
  3. In LabVIEW, the 2D array data is read and plotted on the graph. A cursor is then configured, and the graph is exported as an image for inclusion in the TestStand report. The implementation can be organized into three main parts:
    1. Read the data passed from TestStand and display it on a graph. In this example, an XY Graph is used. 
       
    2. Create an implicit property node from the XY graph indicator by following the steps.
      Right click on the XY graph indicator, select Create >> Property Node >> Cursor List.
      Refer to Programmatically Creating a Cursor for a Graph in LabVIEW for more detailed steps.
      Note: To configure the cursor parameters, it is recommended to first place the cursor manually on the graph. Then, use the property node to read the cursor list values and display them on an indicator. Once the desired configuration is obtained, convert this indicator into a constant for reuse.
    3. Create a reference from the XY Graph indicator and use the Get Image method from an invoke node to export the graph as an image. Convert the resulting image data into a string so it can be passed back to TestStand.
       

      Code for the SubVI is as below:
       

  4. Finally, execute the TestStand step and verify that the generated graph image is correctly displayed in the report.

 

Additional Information

  • The LabVIEW VI implementation in Step 3.c is adapted from the TestStand example: Mobile Device Test.seq >> LCS Video Test Step >> LCD Display Test.vi >> Add Images to Report.vi.
  • The approach described above is not the only way to display a cursor on a graph. If you are familiar with the TestStand report generation model, you can customize the report style by modifying the underlying report generation code. Alternatively, you can enhance the functionality by adding new features to %TestStand%\Components\Models\TestStandModels\GraphControl to support cursor display. 
  • You can also use other adapters, such as C# or Python, instead of LabVIEW in Step 3 to plot the 2D data on a graph and export it as an image.

Below is the TestStand report result after execution.

An example will be provided as a ZIP file attached to this article.