.. include:: ../../vars.rst .. _section-data-visualization-time-chart: Time Chart ========== .. figure:: ../../_static/datavisualization/timechart_shot.png :alt: Subscribe to topic context menu :name: Subscribe to topic context menu :align: center :figWidth: 100% The time chart shows data values on the y axis and time on the x axis. It supports both live and historical mode. In live mode, it updates the chart with the latest received data. In historical mode, it can load and chart historical data in an arbitrary time range. To protect against unlimited memory usage while loading historical data, data will be automatically reduced when the data to be loaded exceeds 3 times the **Plot Buffer Size** property of each trace. Data is reduced by calculating the minimum, maximum, and average of each *data_to_be_loaded/plot_buffer_size* samples. Minimum and maximum values are charted as the error area or error bar of the average value point. ================================= View Toolbar/Context Menu Actions ================================= .. |ICON_WAITING| image:: ../../_static/datavisualization/icons/waiting.png .. |ICON_SIDEPANEL| image:: ../../_static/datavisualization/icons/sidepanel.png .. |ICON_EXPORT_TO_FILE| image:: ../../_static/datavisualization/icons/exportToFile.png .. |ICON_CONFIGURE| image:: ../../_static/datavisualization/icons/configure.png * |ICON_WAITING| **Switch to Historical/Live Mode**: Toggles the time chart between historical and live modes. * |ICON_SIDEPANEL| **Hide/Show Side Panel**: Toggles hiding or showing the side panel. * |ICON_EXPORT_TO_FILE| **Export trace data...**: Opens a file dialog and exports buffered data for chosen traces to a comma-separated-values (CSV) file. * |ICON_CONFIGURE| **Configure...**: Opens the Time Chart Configuration dialog to configure the time chart. For example, you can add/remove traces, change trace color, add/remove axis, and change axis color. See :ref:`section-data-visualization-time-chart-configuration-dialog`. ========== Side Panel ========== .. figure:: ../../_static/datavisualization/timechart_sidepanel.png :alt: Time chart side panel :name: Time chart side panel :align: center :figWidth: 100% The visibility of traces can be toggled by checking/unchecking traces in the side panel. Checking/unchecking an axis will show/hide all traces that belong to that axis. Double-clicking on a trace or axis will open the configuration dialog and show its properties. ===================== Time Chart Operations ===================== Unlike the configurations that are set in the configuration dialog, which will be saved and restored on restart of |AC|, the operations below are only performed on the live chart, so they will not be saved or restored. **Time Scrollbar** Moving the scrollbar at the bottom of the chart automatically switches to historical mode and loads the historical data from disk. Moving it all the way to the right switches back to live mode. The time being scrolled to is displayed in the status at the bottom of the chart. **Chart Toolbar** .. |ICON_ANNOTATIONS| image:: ../../_static/datavisualization/timechart_icons/Add_Annotation.png .. |ICON_DEL_ANNOTATIONS| image:: ../../_static/datavisualization/timechart_icons/Del_Annotation.png .. |ICON_AUTOSCALE| image:: ../../_static/datavisualization/timechart_icons/AutoScale.png .. |ICON_UNDO| image:: ../../_static/datavisualization/timechart_icons/Undo.png .. |ICON_REDO| image:: ../../_static/datavisualization/timechart_icons/Redo.png .. |ICON_CAMERA| image:: ../../_static/datavisualization/timechart_icons/camera.png .. |ICON_MOUSE_ARROW| image:: ../../_static/datavisualization/timechart_icons/MouseArrow.png .. |ICON_RUBBER_BAND_ZOOM| image:: ../../_static/datavisualization/timechart_icons/RubberbandZoom.png .. |ICON_H_ZOOM| image:: ../../_static/datavisualization/timechart_icons/HorizontalZoom.png .. |ICON_V_ZOOM| image:: ../../_static/datavisualization/timechart_icons/VerticalZoom.png .. |ICON_ZOOM_IN| image:: ../../_static/datavisualization/timechart_icons/ZoomIn.png .. |ICON_ZOOM_OUT| image:: ../../_static/datavisualization/timechart_icons/ZoomOut.png .. |ICON_PANNING| image:: ../../_static/datavisualization/timechart_icons/Panning.png * |ICON_CONFIGURE| **Configure Settings**: Configures all properties of the chart itself. Some of the configurations are redundant with the configurations in the Time Chart configuration dialog. Note that the configurations from this dialog can not be saved or restored after restarting |AC|. * |ICON_ANNOTATIONS| **Add Annotation**: Adds an annotation to the chart. An annotation can be used to mark or indicate the coordinates of a point on the chart. The annotation can be either a free point or a point that snaps to a particular trace. * |ICON_DEL_ANNOTATIONS| **Remove Annotation**: Removes an annotation from the chart. * |ICON_AUTOSCALE| **Auto Scale**: Perform auto-scaling on all axes. The range of the axes are determined by all the data that is currently loaded in memory for this chart. * |ICON_UNDO| **Undo**: This will undo the operations that were performed from the chart toolbar. * |ICON_REDO| **Redo**: This will redo the operations that were performed from the chart toolbar. * |ICON_CAMERA| **Save Snapshot to PNG file**: Saves a snapshot of the chart to a **.png** image file. **Zooming buttons** When one of the below zooming buttons is selected, if the chart is in live mode, all axes will stop auto-scaling or moving, so the zoom can be performed, but the traces will continue to redraw upon arrival of new data. To resume axes auto-scaling or moving, exit the zooming state by releasing the toggled zoom button or clicking on the **Arrow button** |ICON_MOUSE_ARROW|. The zooming operations can be performed on either the chart area or an axis by clicking or dragging on the chart area or axis. When performed on an axis, it will only zoom or pan that axis corresponding to the selected zoom button. Regardless of which zoom button is selected, you can always use a mouse wheel to zoom in/out on a chart area or axis. * |ICON_RUBBER_BAND_ZOOM| **Rubberband zoom**: Zooms in on an area by selecting the area. * |ICON_H_ZOOM| **Horizontal zoom**: Zooms in the horizontal direction only by selecting the area. * |ICON_V_ZOOM| **Vertical zoom**: Zooms in the vertical direction only by selecting the area. * |ICON_ZOOM_IN| **Zoom In**: Zooms in automatically by left-clicking or pressing and holding the left mouse button. * |ICON_ZOOM_OUT| **Zoom Out**: Zooms out automatically by left-clicking or pressing and holding the left mouse button. * |ICON_PANNING| **Panning**: Moves the chart by dragging it. * |ICON_MOUSE_ARROW| **None**: Exits zooming state. Axes will resume auto-scaling or moving if they were locked. The mouse wheel will not work for zooming. .. _section-data-visualization-time-chart-configuration-dialog: =============================== Time Chart Configuration Dialog =============================== .. figure:: ../../_static/datavisualization/timechart_configure.png :alt: Time chart configuration dialog :name: Time chart configuration dialog :align: center :figWidth: 100% This dialog configures the properties of a Time Chart. * **View Name**: Name of the view, which is used to identify this view. * **Time Axis Scale Type**: Scale type of the time axis. It is only applicable for live mode. * *Auto Scale*: In this mode, the chart will adjust the time period displayed in order to show all of the data stored in the plot buffer. * *Fixed Time Window*: In this mode, the time axis displays the most recent time period of data. The time period is adjustable. If the data is coming in faster than the plot buffer divided by the time period, the display will be truncated. Traces ------ .. |ICON_ADD| image:: ../../_static/datavisualization/icons/add.gif .. |ICON_COPY| image:: ../../_static/datavisualization/icons/copy.gif .. |ICON_UP| image:: ../../_static/datavisualization/icons/up.gif .. |ICON_DOWN| image:: ../../_static/datavisualization/icons/down.gif .. |ICON_DELETE| image:: ../../_static/datavisualization/icons/delete.gif You can add Traces with the |ICON_ADD| **Add** button, which will open a dialog to select signals. Multiple signals can be added at one time. Each signal corresponds to one trace in the plot. The initial trace color is automatically selected. A trace can be copied by clicking on the |ICON_COPY| **Copy** button. Use the |ICON_UP| **Up** button and |ICON_DOWN| **Down** buttons to move a trace up or down. Use the |ICON_DELETE| **Delete** button or press the **Delete** key to remove a trace. Trace Properties ---------------- * **Signal**: The data source of the trace. * **Trace Name**: The name of the trace * **Timestamp**: The timestamp source that is used as the time-axis coordinate. Source time is the time when the sample was written by the DataWriter. Reception time is the time when the DataReader received the sample. * **Y Axis**: The Y axis of the trace. Axes can be added from the **Axes** tab. * **Trace Color**: The color of the trace. * **Trace Type**: The type of the trace. * **Line Width**: The width of the trace line. If the trace type is a bar, it is the width of the bar. * **Point Style**: The point-rendering style for data points. * **Point Size**: The size of the point. * **Plot Buffer Size**: The maximum number of data points that are buffered in memory for plotting. When it reaches this limit, the oldest data will be deleted as new data arrives. * **History Depth**: The maximum number of data points that are stored to disk. When it reaches this limit, the oldest data will be deleted as new data arrives. * **Disk Usage**: The amount of disk space needed for the corresponding history depth. * **Visible**: Shows/hides the trace. Axes ---- .. figure:: ../../_static/datavisualization/timechart_configure_axes.png :alt: Time chart confiure axes :name: Time chart confiure axes :align: center :figWidth: 100% A time chart can have more than one Y axis. Y axes can be added using the |ICON_ADD| **Add** button. A Y axis can be copied by clicking on the |ICON_COPY| **Copy** button. Use the |ICON_DELETE| **Delete** button or press **Delete** key to remove a Y axis. **Axis Properties** * **Name**: The name of the axis. * **Axis Color**: The color of the axis. * **On left side**: The position of the axis. If this is checked, it will be on the left side. Otherwise, it will be on the right side. NOTE: this option is only available for the second and subsequent Y axes. * **Log Scale**: Check this to use a log scale for the axis. * **Auto Scale**: Check this to automatically adjust the value range of the axis to fit all data points vertically. * **Maximum**: The maximum value of the range (only applicable if auto scale is not enabled). * **Minimum**: The minimum value of the range (only applicable if auto scale is not enabled).