Comparison Charts
Overview
This page providers an overview of the various comparison charts in Ignition, or charts that allow you to compare difference sets of data. Comparison charts differ from trending charts in that they tend to utilize a timestamp to visualize records over a period of time. This page describes several types of comparison charts and how they are used.
Bar Chart
The Bar Chart is an easy-to-use chart that is driven by the Data property, and expects a specific format. The first column in the Data property defines the names of the categories, and each additional column defines the groupings for each item in the series (depending on the Extract Order).
Note, that additional datasets may not be added to the Bar Chart, so all values must be aggregated into the Data property via SQL Binding, or scripting. If multiple datasets are desired, then the Classic Chart configured with a bar renderer should be used instead.
Using the Bar Chart
Typically, data is pulled into the chart from a database using either a Named Query or SQL Query binding on the Data property. This data is typically category based, which typically means there is no timestamp. Generally, if values are split up by time, it is into large chunks of time, like the different months as shown in the example above.
Initial Dataset
When a Bar Chart is first created, the component will contain a dataset that looks like the following:

Bar Chart Sample Data
"#NAMES"
"Label","North Area","South Area"
"#TYPES"
"str","I","I"
"#ROWS","5"
"Jan","15","35"
"Feb","21","36"
"Mar","17","23"
"Apr","11","39"
"May","16","32"
Extract Order
The Extract Order property on the chart determines how data series are defined. By default, the property is set to By Row, which means each row is a series, and each column (except the first) is a category. Based on the initial dataset, datapoints are grouped by area (column) and then grouped by each month (row). If we set the Extract Order property to By Column, then we see that each data point is grouped by the month (row), and then grouped by each area (column). Note, that the underlying data has not changed, but rather how it is rendered as shown in the images below.

Chart
The Chart component, also known as the Classic Chart can be used to create many different types of charts by rendering the data in different ways. This means that depending on the type of data you have, you may use the Chart component in very different ways.
By default the chart is setup to be used as a time series chart, with default data that shows this behavior. However with the right data, the chart can also display an XY coordinate plot or a categorical plot.

Using the Chart
The default settings on the Chart allow it to be used as a time series chart. Simply alter the dataset in the Data property with new time series data to display it in the chart. You can also alter the renderer in the Dataset Properties to any of the XY renderers to change the way the data is displayed.
To use the chart as an XY coordinate plot, Data should be loaded with a two column dataset, where one column is the Y coordinate, and another is the corresponding X coordinate. The chart will also need to be setup with a new X axis, since the default axis is a date axis.
To use the Chart as a categorical plot, a few things need to change from the defaults. The Data property will need to be loaded with some categorical data. Categorical data will have one column of the dataset be categories of information in the form of a string. The chart will also need to be setup with a new categorical X axis, as well as a category renderer in the Chart Customizer. Lastly, the Chart Type will need to be a Category Chart. When the chart is a Category Chart type, the Extract Order property can be changed to alter how the data is pulled out and displayed in the chart. It works very similarly to the Bar Charts Extract Order seen above.
Initial Dataset
Each new Chart randomly generates a new dataset. This Data property will use the default timeseries behavior of the chart, with a t_stamp column for the domain, and two other columns (Process Temp and Output Temp) as values at the specified times.
Bar Chart Sample Data
"#NAMES"
"t_stamp","Process Temp","Output Temp"
"#TYPES"
"date","I","I"
"#ROWS","200"
"2018-04-30 00:07:15","64","35"
"2018-04-30 01:07:15","60","35"
"2018-04-30 02:07:15","56","36"
"2018-04-30 03:07:15","52","31"
"2018-04-30 04:07:15","53","26"
"2018-04-30 05:07:15","57","28"
"2018-04-30 06:07:15","60","27"
"2018-04-30 07:07:15","57","26"
"2018-04-30 08:07:15","59","31"
"2018-04-30 09:07:15","57","36"
"2018-04-30 10:07:15","55","39"
"2018-04-30 11:07:15","52","41"
"2018-04-30 12:07:15","56","40"
"2018-04-30 13:07:15","51","41"
"2018-04-30 14:07:15","52","36"
"2018-04-30 15:07:15","53","32"
"2018-04-30 16:07:15","57","30"
"2018-04-30 17:07:15","52","32"
"2018-04-30 18:07:15","57","32"
"2018-04-30 19:07:15","55","29"
"2018-04-30 20:07:15","53","30"
"2018-04-30 21:07:15","54","31"
"2018-04-30 22:07:15","50","29"
"2018-04-30 23:07:15","54","25"
"2018-05-01 00:07:15","49","21"
"2018-05-01 01:07:15","53","21"
"2018-05-01 02:07:15","50","16"
"2018-05-01 03:07:15","51","19"
"2018-05-01 04:07:15","49","23"
"2018-05-01 05:07:15","48","25"
"2018-05-01 06:07:15","51","20"
"2018-05-01 07:07:15","55","18"
"2018-05-01 08:07:15","50","22"
"2018-05-01 09:07:15","49","26"
"2018-05-01 10:07:15","53","22"
"2018-05-01 11:07:15","50","27"
"2018-05-01 12:07:15","46","26"
"2018-05-01 13:07:15","48","27"
"2018-05-01 14:07:15","52","26"
"2018-05-01 15:07:15","51","24"
"2018-05-01 16:07:15","55","24"
"2018-05-01 17:07:15","58","23"
"2018-05-01 18:07:15","61","22"
"2018-05-01 19:07:15","60","27"
"2018-05-01 20:07:15","59","32"
"2018-05-01 21:07:15","60","33"
"2018-05-01 22:07:15","56","38"
"2018-05-01 23:07:15","51","35"
"2018-05-02 00:07:15","47","34"
"2018-05-02 01:07:15","45","32"
"2018-05-02 02:07:15","46","27"
"2018-05-02 03:07:15","43","31"
"2018-05-02 04:07:15","39","33"
"2018-05-02 05:07:15","39","30"
"2018-05-02 06:07:15","40","26"
"2018-05-02 07:07:15","41","27"
"2018-05-02 08:07:15","46","29"
"2018-05-02 09:07:15","43","25"
"2018-05-02 10:07:15","47","24"
"2018-05-02 11:07:15","49","19"
"2018-05-02 12:07:15","45","19"
"2018-05-02 13:07:15","42","20"
"2018-05-02 14:07:15","43","20"
"2018-05-02 15:07:15","43","23"
"2018-05-02 16:07:15","39","25"
"2018-05-02 17:07:15","37","22"
"2018-05-02 18:07:15","33","22"
"2018-05-02 19:07:15","31","21"
"2018-05-02 20:07:15","35","22"
"2018-05-02 21:07:15","34","21"
"2018-05-02 22:07:15","30","22"
"2018-05-02 23:07:15","34","27"
"2018-05-03 00:07:15","35","27"
"2018-05-03 01:07:15","36","32"
"2018-05-03 02:07:15","39","32"
"2018-05-03 03:07:15","39","33"
"2018-05-03 04:07:15","41","38"
"2018-05-03 05:07:15","40","35"
"2018-05-03 06:07:15","36","39"
"2018-05-03 07:07:15","38","41"
"2018-05-03 08:07:15","33","41"
"2018-05-03 09:07:15","30","38"
"2018-05-03 10:07:15","30","42"
"2018-05-03 11:07:15","33","38"
"2018-05-03 12:07:15","37","42"
"2018-05-03 13:07:15","33","37"
"2018-05-03 14:07:15","29","38"
"2018-05-03 15:07:15","24","37"
"2018-05-03 16:07:15","24","42"
"2018-05-03 17:07:15","21","45"
"2018-05-03 18:07:15","24","44"
"2018-05-03 19:07:15","28","49"
"2018-05-03 20:07:15","24","45"
"2018-05-03 21:07:15","24","49"
"2018-05-03 22:07:15","19","51"
"2018-05-03 23:07:15","24","48"
"2018-05-04 00:07:15","19","45"
"2018-05-04 01:07:15","16","44"
"2018-05-04 02:07:15","20","40"
"2018-05-04 03:07:15","25","38"
"2018-05-04 04:07:15","29","40"
"2018-05-04 05:07:15","27","36"
"2018-05-04 06:07:15","24","36"
"2018-05-04 07:07:15","29","41"
"2018-05-04 08:07:15","34","45"
"2018-05-04 09:07:15","37","47"
"2018-05-04 10:07:15","40","48"
"2018-05-04 11:07:15","42","52"
"2018-05-04 12:07:15","45","57"
"2018-05-04 13:07:15","46","58"
"2018-05-04 14:07:15","51","59"
"2018-05-04 15:07:15","46","56"
"2018-05-04 16:07:15","46","59"
"2018-05-04 17:07:15","47","56"
"2018-05-04 18:07:15","43","56"
"2018-05-04 19:07:15","46","53"
"2018-05-04 20:07:15","49","55"
"2018-05-04 21:07:15","51","51"
"2018-05-04 22:07:15","46","51"
"2018-05-04 23:07:15","50","50"
"2018-05-05 00:07:15","52","50"
"2018-05-05 01:07:15","51","51"
"2018-05-05 02:07:15","49","51"
"2018-05-05 03:07:15","46","55"
"2018-05-05 04:07:15","51","54"
"2018-05-05 05:07:15","56","52"
"2018-05-05 06:07:15","61","54"
"2018-05-05 07:07:15","62","52"
"2018-05-05 08:07:15","57","47"
"2018-05-05 09:07:15","54","47"
"2018-05-05 10:07:15","59","46"
"2018-05-05 11:07:15","56","44"
"2018-05-05 12:07:15","58","46"
"2018-05-05 13:07:15","62","44"
"2018-05-05 14:07:15","64","41"
"2018-05-05 15:07:15","62","45"
"2018-05-05 16:07:15","66","42"
"2018-05-05 17:07:15","61","37"
"2018-05-05 18:07:15","63","38"
"2018-05-05 19:07:15","61","38"
"2018-05-05 20:07:15","64","40"
"2018-05-05 21:07:15","64","44"
"2018-05-05 22:07:15","60","40"
"2018-05-05 23:07:15","64","44"
"2018-05-06 00:07:15","63","45"
"2018-05-06 01:07:15","61","47"
"2018-05-06 02:07:15","61","52"
"2018-05-06 03:07:15","61","48"
"2018-05-06 04:07:15","61","47"
"2018-05-06 05:07:15","60","46"
"2018-05-06 06:07:15","58","44"
"2018-05-06 07:07:15","56","43"
"2018-05-06 08:07:15","61","45"
"2018-05-06 09:07:15","66","49"
"2018-05-06 10:07:15","68","51"
"2018-05-06 11:07:15","63","54"
"2018-05-06 12:07:15","66","58"
"2018-05-06 13:07:15","69","63"
"2018-05-06 14:07:15","69","63"
"2018-05-06 15:07:15","67","58"
"2018-05-06 16:07:15","71","54"
"2018-05-06 17:07:15","74","50"
"2018-05-06 18:07:15","79","49"
"2018-05-06 19:07:15","75","51"
"2018-05-06 20:07:15","80","49"
"2018-05-06 21:07:15","79","50"
"2018-05-06 22:07:15","82","50"
"2018-05-06 23:07:15","80","53"
"2018-05-07 00:07:15","85","54"
"2018-05-07 01:07:15","87","49"
"2018-05-07 02:07:15","87","51"
"2018-05-07 03:07:15","84","56"
"2018-05-07 04:07:15","82","60"
"2018-05-07 05:07:15","81","57"
"2018-05-07 06:07:15","83","55"
"2018-05-07 07:07:15","83","55"
"2018-05-07 08:07:15","81","52"
"2018-05-07 09:07:15","77","49"
"2018-05-07 10:07:15","75","46"
"2018-05-07 11:07:15","79","45"
"2018-05-07 12:07:15","82","47"
"2018-05-07 13:07:15","81","48"
"2018-05-07 14:07:15","82","53"
"2018-05-07 15:07:15","81","48"
"2018-05-07 16:07:15","81","43"
"2018-05-07 17:07:15","85","40"
"2018-05-07 18:07:15","90","37"
"2018-05-07 19:07:15","94","34"
"2018-05-07 20:07:15","90","38"
"2018-05-07 21:07:15","89","40"
"2018-05-07 22:07:15","85","45"
"2018-05-07 23:07:15","81","48"
"2018-05-08 00:07:15","83","43"
"2018-05-08 01:07:15","78","42"
"2018-05-08 02:07:15","73","40"
"2018-05-08 03:07:15","72","44"
"2018-05-08 04:07:15","71","42"
"2018-05-08 05:07:15","75","44"
"2018-05-08 06:07:15","71","46"
"2018-05-08 07:07:15","67","50"
Radar Chart
Radar Charts, also known as web charts, spider charts, and spider plots, are useful for displaying values that are out of spec, and several of them at once. Each value is plotted on a separate axis with the middle of the axis representing the ideal value. The chart draws a line between the different values, which create a shape that changes as those values change. Inside the chart, there is a polygon that represents what the chart would look like if all of its values were in their ideal range. A good use of radar charts is to display realtime information in such a way that outliers can be quickly identified. This can be an efficient way to convey if a process is running on-spec or off-spec at a glance. So the chart lets you quickly see where the values are in comparison to where they should ideally be.

Using the Radar Chart
The Radar Chart can be used to show realtime values by dragging and dropping Tags from the Tag Browser on to the chart. Doing so will create a Cell Update binding on the Data property that is tied to the Value, EngLow, and EngHigh properties on the Tag. Adding additional Tags will add additional spokes to the chart. Alternatively, a Named Query or a SQL Query binding on the data property can be used to display historical values, or aggregate previous historical values.
Initial Dataset
Each new Radar Chart randomly generates a new dataset. The Data property on the Radar Chart must have at least a Value, Min, and Max column. Any additional columns are ignored. To render properly, the dataset must have at least three rows. Datasets with only one or two rows will be drawn as a vertical line.
