Advanced [Object.Graph:] Macro
Introduction
The [Object.Graph:] macro produces a graph / chart, which is defined by a JObject (a JavaScript Object Notation / JSON object), using the single mandatory 'graphSpec' parameter. Its optional parameters, e.g. those which control the size and other properties of the graph, are listed in the macro help in the Macros => Object section.
Why use [Object.Graph:]
The macro provides a flexible and unique way to specify and use a graph definition, which can be manually or programmatically generated.
You can also obtain the graph definition from other macros - currently just the [LogicMonitor.GraphSpecification:] macro is available - and then manipulate the data to add more data points or to adjust how the graph is displayed - especially when you want to achieve something that the [LogicMonitor.Graph:] macro cannot do - such as flipping the y-axis values for one of the series.
We developed the macro so that report authors have even more control over how to generate charts.
Usage
This page details the mandatory 'graphSpec' property, as it is a complex JSON object, requiring some explanation regarding the possible values.
You can manually construct the JSON confirming to the structure that follows, however you can also use the [LogicMonitor.GraphSpecificaton:] macro, to generate a sample output that represents a LogicMonitor graph. That macro accepts all the same parameters as the [LogicMonitor.Graph:] macro.
Here is a basic example (see more details in the macro help) that can generate a suitable input graph specification, to be used as input to the [Object.Graph:] macro:
Obtain the graph specification JObject and save it into a variable named 'GraphSpecification':
[LogicMonitor.GraphSpecification: device=dev.panoramicdata.com, graphName=CPU Usage, dataSourceInstanceName=WinCPU, storeAsHidden=GraphSpecification]
Pass the graph specification into the macro, which generates a chart:
[Object.Graph: graphSpec=`{GraphSpecification}`", pageWidthPercent=100]
A longer example follows this table.
Important defaults and safeguards
When constructing the graph specification JSON, be aware of the following important defaults, constraints, and safeguards. If any of these properties are omitted from the JSON, or set to an invalid value (0 or negative where noted), the macro will automatically apply a sensible default to prevent rendering failures:
Null-safe list properties
The following properties must not be null. If omitted from the JSON, they are automatically defaulted to an empty value. You may omit them entirely or set them to the indicated default:
- CustomPaletteHexCodes - defaults to
""(empty string) - FixedLines - defaults to
[](empty list) - MarkerBorderColors - defaults to
[](empty list) - MarkerBorderWidths - defaults to
[](empty list) - MarkerColors - defaults to
[](empty list) - MarkerSizes - defaults to
[](empty list) - MarkerStyles - defaults to
[](empty list) - Palette - defaults to
[](empty list) - SeriesList - defaults to
[](empty list)
Font size properties
Font sizes must be greater than 0. A value of 0 causes a rendering error (emSize must be positive). If omitted or set to 0 or a negative value, the following defaults are applied:
- LabelFontSize - defaults to 16.0
- LegendFontSize - defaults to 20.0
- XAxisFontSize - defaults to 20.0
- YAxisFontSize - defaults to 20.0
Chart area and inner plot dimensions
These dimensions control the size of the chart rendering area and inner plot. If set to 0 or a negative value, the chart will render as a completely blank/white image. If omitted or set to 0 or a negative value, the following defaults are applied:
- ChartAreaWidthPercent - defaults to 80
- ChartAreaHeightPercent - defaults to 100
- InnerPlotWidthPercent - defaults to 85
- InnerPlotHeightPercent - defaults to 75
Legend dimensions
If the legend width or height is 0, the legend becomes invisible even when series are present. If omitted or set to 0 or a negative value, the following defaults are applied:
- LegendWidthPercent - defaults to 20
- LegendHeightPercent - defaults to 80
- LegendTextWrapThreshold - defaults to 25 (a value of 0 could cause a division by zero in word-wrap logic)
Chart pixel dimensions
These control the actual pixel size of the rendered chart image. If set to 0 or a negative value, the charting library would produce a zero-sized image. If omitted or set to 0 or a negative value, the following defaults are applied:
- ChartWidth - defaults to 2560 pixels
- ChartHeight - defaults to 400 pixels
The JObject Structure
The complete list of items that can be used to create the graph specification, and passed to the 'graphSpec' parameter are:
| Property | Type | Description / Possible Values |
|---|---|---|
| ChartAreaBackgroundColor | Color | The background color of the chart area. |
| ChartAreaHeightPercent | int | The height of the chart area as a percentage of the chart. If omitted or set to 0 or a negative value, defaults to 100. A value of 0 results in a blank chart image. |
| ChartAreaWidthPercent | int | The width of the chart area as a percentage of the chart. If omitted or set to 0 or a negative value, defaults to 80. A value of 0 results in a blank chart image. |
| ChartAreaXPosition | int | The X position of the chart area. |
| ChartAreaYPosition | int | The Y position of the chart area. |
| ChartBackgroundColor | Color | The background color of the chart. |
| ChartBorderLineDashStyle | ChartDashStyle |
The dash style of the chart border line.
|
| ChartBorderLineColor | Color | The color of the chart border line. |
| ChartBorderLineWidth | int | The width of the chart border line. |
| ChartHeight | int | The height of the chart in pixels. If omitted or set to 0 or a negative value, defaults to 400. |
| ChartWidth | int | The width of the chart in pixels. If omitted or set to 0 or a negative value, defaults to 2560. |
| CustomPaletteHexCodes | string | Hexadecimal (or human-readable) color codes for custom palette, semi-colon separated. Example: "CustomPaletteHexCodes" : "#00FF00;Red". If omitted, defaults to an empty string. Must not be null - omit the property entirely or set it to "". |
| DoughnutRadius | int | The radius of the doughnut chart. |
| Enable3d | bool | Whether to enable 3D rendering for the chart. |
| EnsureColorsUnique | bool | Whether to ensure that each series has a unique color. |
| FixedLines | List<FixedLine> | A list of lines of fixed y-values to add to the graph, e.g. "FixedLines" : [ { "Name" : "Line 1", "Color" : "Red", "Value" : 50 }, { "Name" : "Line 2", "Color" : "Green", "Value" : 100 } ]. If omitted, defaults to an empty list. Must not be null - omit the property entirely or set it to []. |
| ImageFormat | int |
The format of the chart image.
|
| Inclination3dDegrees | int | The inclination angle in degrees for 3D charts. |
| InnerPlotHeightPercent | int | The height of the inner plot as a percentage of the chart area. If omitted or set to 0 or a negative value, defaults to 75. A value of 0 results in a blank chart image. |
| InnerPlotWidthPercent | int | The width of the inner plot as a percentage of the chart area. If omitted or set to 0 or a negative value, defaults to 85. A value of 0 results in a blank chart image. |
| InnerPlotXPosition | int | The X position of the inner plot. |
| InnerPlotYPosition | int | The Y position of the inner plot. |
| LabelBackgroundColor | Color | The background color of data point labels. |
| LabelColor | Color | The color of data point labels. |
| LabelFontSize | double | The font size of data point labels. If omitted or set to 0 or a negative value, defaults to 16.0. Must be greater than 0 - a value of 0 causes a rendering error. |
| Labels | List<string> | A list of custom labels for the chart. |
| LegendBackgroundColor | Color | The background color of the legend. |
| LegendBorderColor | Color | The border color of the legend. |
| LegendFontSize | double | The font size of the legend text. If omitted or set to 0 or a negative value, defaults to 20.0. Must be greater than 0 - a value of 0 causes a rendering error. |
| LegendHeightPercent | int | The height of the legend as a percentage of the chart. If omitted or set to 0 or a negative value, defaults to 80. A value of 0 makes the legend invisible. |
| LegendStyle | LegendStyle |
The style of the legend.
|
| LegendTextWrapThreshold | int | The threshold character count for wrapping text in legend items. If omitted or set to 0 or a negative value, defaults to 25. A value of 0 could cause a division by zero error. |
| LegendWidthPercent | float | The width of the legend as a percentage of the chart. If omitted or set to 0 or a negative value, defaults to 20. A value of 0 makes the legend invisible. |
| LegendXPosition | int | The X position of the legend. |
| LegendYPosition | int | The Y position of the legend. |
| MarkerBorderColors | List<Color> | A list of border colors for data point markers. If omitted, defaults to an empty list. Must not be null. |
| MarkerBorderWidths | List<int> | A list of border widths for data point markers. If omitted, defaults to an empty list. Must not be null. |
| MarkerColors | List<Color> | A list of colors for data point markers. If omitted, defaults to an empty list. Must not be null. |
| MarkerSizes | List<int> | A list of sizes for data point markers. If omitted, defaults to an empty list. Must not be null. |
| MarkerStyles | List<MarkerStyle> |
A list of styles for data point markers. If omitted, defaults to an empty list. Must not be null.
|
| OrderAreaChartSeriesByMean | bool | Whether to order area chart series by their mean values. |
| OverridePaletteType | OverridePaletteType |
The type of palette override to use.
|
| Palette | List<string> | A list of colors used in the chart palette. If omitted, defaults to an empty list. Must not be null. |
| Perspective3dPercent | int | The perspective percentage for 3D charts. |
| PieCollectedColor | Color | The color of the collected pie chart segment. |
| PieCollectedLabel | string | The label for the collected pie chart segment. |
| PieCollectedThresholdPercent | double | The threshold percentage for collecting small pie chart segments. |
| PieLabelStyle | PieLabelStyle | The style of labels for pie chart slices.
|
| PieLineColor | Color | The color of the lines separating pie chart slices. |
| PieStartAngleDegrees | int | The starting angle in degrees for pie charts. |
| PointDepth3dPercent | int | The depth percentage for data points in 3D charts. |
| PointGapDepth3dPercent | int | The gap depth percentage between data points in 3D charts. |
| Rotation3dDegrees | int | The rotation angle in degrees for 3D charts. |
| SeriesList | List<ChartSeries> | A list of series to display in the chart. See the ChartSeries Structure section below. If omitted, defaults to an empty list. Must not be null. |
| UseYAxisShortLabels | bool | Whether to use shortened labels for the Y axis. |
| XAxisFontColor | Color | The font color for X axis labels. |
| XAxisFontSize | double | The font size for X axis labels. If omitted or set to 0 or a negative value, defaults to 20.0. Must be greater than 0 - a value of 0 causes a rendering error. |
| XAxisHeightPercent | double | The height of the X axis as a percentage of the chart area. |
| XAxisInterval | double | The interval between X axis labels. |
| XAxisIntervalAutoMode | IntervalAutoMode |
The automatic interval mode for the X axis.
|
| XAxisIntervalType | DateTimeIntervalType |
The type of interval for the X axis.
|
| XAxisIsAutoFit | bool | Whether the X axis should automatically fit its content. |
| XAxisIsLogarithmic | bool | Whether the X axis uses a logarithmic scale. |
| XAxisIsMarginVisible | bool | Whether margins are visible on the X axis. |
| XAxisLabelAngle | int | The angle of X axis labels in degrees. |
| XAxisLabelAutoFitStyle | LabelAutoFitStyles |
The auto-fit style for X axis labels.
|
| XAxisLabelFormat | string | The format string for X axis labels. |
| XAxisLineColor | Color | The color of the X axis line. |
| XAxisLineDashStyle | ChartDashStyle |
The dash style of the X axis line.
|
| XAxisLineWidth | int | The width of the X axis line. |
| XAxisMajorGridEnabled | bool | Whether major grid lines are enabled for the X axis. |
| XAxisMajorGridInterval | double | The interval between major grid lines on the X axis. |
| XAxisMajorGridIntervalType | DateTimeIntervalType |
The type of interval for X axis major grid lines.
|
| XAxisMajorGridLineColor | Color | The color of the X axis major grid lines. The default is black. This is available in version 3.27 onwards. |
| XAxisMajorGridLineDashStyle | ChartDashStyle |
The dash style of the X axis major grid lines. The default is Solid. This is available in version 3.27 onwards.
|
| XAxisMajorGridLineWidth | int | The width of the X axis major grid lines in pixels. The default is 1. This is available in version 3.27 onwards. |
| XAxisMinorGridEnabled | bool | Whether minor grid lines are enabled for the X axis. |
| XAxisMinorGridInterval | double | The interval between minor grid lines on the X axis. |
| XAxisMinorGridIntervalType | DateTimeIntervalType |
The type of interval for X axis minor grid lines.
|
| XAxisMinorGridLineColor | Color | The color of the X axis minor grid lines. The default is light grey. This is available in version 3.27 onwards. |
| XAxisMinorGridLineDashStyle | ChartDashStyle |
The dash style of the X axis minor grid lines. The default is Solid. This is available in version 3.27 onwards.
|
| XAxisMinorGridLineWidth | int | The width of the X axis minor grid lines in pixels. The default is 1. This is available in version 3.27 onwards. |
| XAxisTitle | string | The title of the X axis. |
| XValueType | object | The value type of X values in the chart. |
| YAxisFontColor | Color | The font color for Y axis labels. |
| YAxisFontSize | double | The font size for Y axis labels. If omitted or set to 0 or a negative value, defaults to 20.0. Must be greater than 0 - a value of 0 causes a rendering error. |
| YAxisInterval | double | The interval between Y axis labels. |
| YAxisIntervalAutoMode | IntervalAutoMode |
The automatic interval mode for the Y axis.
|
| YAxisIntervalType | DateTimeIntervalType |
The type of interval for the Y axis.
|
| YAxisIsAutoFit | bool | Whether the Y axis should automatically fit its content. |
| YAxisIsLogarithmic | bool | Whether the Y axis uses a logarithmic scale. |
| YAxisLabelAngle | int | The angle of Y axis labels in degrees. |
| YAxisLabelAutoFitStyle | LabelAutoFitStyles |
The auto-fit style for Y axis labels.
|
| YAxisLabelFormat | string | The format string for Y axis labels. |
| YAxisLineColor | Color | The color of the Y axis line. |
| YAxisLineDashStyle | ChartDashStyle |
The dash style of the Y axis line.
|
| YAxisLineWidth | int | The width of the Y axis line. |
| YAxisMajorGridEnabled | bool | Whether major grid lines are enabled for the Y axis. |
| YAxisMajorGridInterval | double | The interval between major grid lines on the Y axis. |
| YAxisMajorGridIntervalType | DateTimeIntervalType |
The type of interval for Y axis major grid lines.
|
| YAxisMajorGridLineColor | Color | The color of the Y axis major grid lines. The default is black. This is available in version 3.27 onwards. |
| YAxisMajorGridLineDashStyle | ChartDashStyle |
The dash style of the Y axis major grid lines. The default is Solid. This is available in version 3.27 onwards.
|
| YAxisMajorGridLineWidth | int | The width of the Y axis major grid lines in pixels. The default is 1. This is available in version 3.27 onwards. |
| YAxisMaximum | double | The maximum value for the Y axis. |
| YAxisMinimum | double | The minimum value for the Y axis. |
| YAxisMinorGridEnabled | bool | Whether minor grid lines are enabled for the Y axis. |
| YAxisMinorGridInterval | double | The interval between minor grid lines on the Y axis. |
| YAxisMinorGridIntervalType | DateTimeIntervalType |
The type of interval for Y axis minor grid lines.
|
| YAxisMinorGridLineColor | Color | The color of the Y axis minor grid lines. The default is light grey. This is available in version 3.27 onwards. |
| YAxisMinorGridLineDashStyle | ChartDashStyle |
The dash style of the Y axis minor grid lines. The default is Solid. This is available in version 3.27 onwards.
|
| YAxisMinorGridLineWidth | int | The width of the Y axis minor grid lines in pixels. The default is 1. This is available in version 3.27 onwards. |
| YAxisShortLabelsAreData | bool | Whether Y axis short labels are based on data. |
| YAxisTitle | string | The title of the Y axis. |
| YAxisWidthPercent | double | The width of the Y axis as a percentage of the chart area. |
ChartSeries Structure
Each item in the SeriesList array is a ChartSeries object with the following properties:
| Property | Type | Description / Possible Values |
|---|---|---|
| BorderWidth | int | The border width of the series line. |
| ChartType | SeriesChartType |
The type of chart for this series.
|
| Color | Color | The color of the series. You can use human-readable names (e.g. "Red"), RGB comma-separated (e.g. "255, 154, 6"), or hex notation (e.g. "#FF9A06"). |
| IsXValueIndexed | bool | Whether X values are indexed (sequential). |
| LabelText | string | The label text for data points in this series. |
| LegendText | string | The text displayed in the legend for this series. Note: This property belongs on the series, not on individual ChartPoint objects. Placing LegendText on a ChartPoint will cause a deserialization error. |
| Name | string | The name of the series. |
| PointWidth | float | The width of data points (for bar/column chart types). |
| Points | List<ChartPoint> | A list of data points in the series. See the ChartPoint Structure section below. |
| XValueType | ChartValueType |
The value type for X values in this series.
|
ChartPoint Structure
Each item in a series' Points array is a ChartPoint object with the following properties:
| Property | Type | Description / Possible Values |
|---|---|---|
| Color | Color | The color of the individual data point (overrides the series color for this point). |
| XValue | object | The X value of the data point. For DateTime charts, this is typically an OLE Automation date (a double representing the number of days since 30 December 1899). |
| YValue | double | The Y value of the data point. |
Important: ChartPoint only supports the three properties listed above (XValue, YValue, Color). Adding any other properties (e.g. LegendText) to a point will cause a deserialization error because the macro uses strict member handling. If you need to set legend text, set it on the ChartSeries object instead.
Example
This example generates an area chart with 3 series - one called 'Busy', and two 'fixed line' series. They contain a number of percentage-based data points (the y-value), and a Date / Time value on the x-axis.
Note that, where colours are required, you can use either of the following:
- Human-readable names e.g. "Red" or "LightGreen",
- Specify the RGB (Red, Green, Blue) components (0-255 for each) separated by commas, like this: "0, 0, 255"
- Specify the RGB components in hex notation, e.g. for maximum blue: "#0000FF"
- Specify the ARGB (Alpha / Transparency, Red, Green, Blue) components by commas, like this: "128, 0, 255, 00"
- Specify the ARGB components in hex notation, e.g. for semi-transparent green: "#8800FF00"
// Using a [String:] macro, define the JSON and store it in a variable (you could just pass this directly into the [Object.Graph:] macro instead)
[String:value=`{
"SeriesList":
[
{
"ChartType": "Area",
"Name": "Busy",
"BorderWidth": 2,
"IsXValueIndexed": false,
"XValueType": "DateTime",
"Color": "Green",
"Points": [
{
"XValue": 45808.708333333336,
"YValue": 18.0052
},
{
"XValue": 45808.75,
"YValue": 18.5592
},
{
"XValue": 45808.791666666664,
"YValue": 19.2466
},
{
"XValue": 45808.833333333336,
"YValue": 19.1072
},
{
"XValue": 45808.875,
"YValue": 18.795
},
{
"XValue": 45808.916666666664,
"YValue": 18.0939
},
{
"XValue": 45808.958333333336,
"YValue": 12.307
},
{
"XValue": 45809.0,
"YValue": 57.9964
},
{
"XValue": 45809.041666666664,
"YValue": 33.856
},
{
"XValue": 45809.083333333336,
"YValue": 19.3426
},
{
"XValue": 45809.125,
"YValue": 19.8072
},
{
"XValue": 45809.166666666664,
"YValue": 19.5215
},
{
"XValue": 45809.208333333336,
"YValue": 20.9294
},
{
"XValue": 45809.25,
"YValue": 25.3711
},
{
"XValue": 45809.291666666664,
"YValue": 26.1338
},
{
"XValue": 45809.333333333336,
"YValue": 25.4968
},
{
"XValue": 45809.375,
"YValue": 30.628
},
{
"XValue": 45809.416666666664,
"YValue": 30.4667
},
{
"XValue": 45809.458333333336,
"YValue": 25.1796
},
{
"XValue": 45809.5,
"YValue": 23.2416
},
{
"XValue": 45809.541666666664,
"YValue": 25.356
},
{
"XValue": 45809.583333333336,
"YValue": 24.4038
},
{
"XValue": 45809.625,
"YValue": 26.0311
},
{
"XValue": 45809.666666666664,
"YValue": 30.9392
},
{
"XValue": 45809.708333333336,
"YValue": 27.4559
},
{
"XValue": 45809.75,
"YValue": 28.651
},
{
"XValue": 45809.791666666664,
"YValue": 27.1604
},
{
"XValue": 45809.833333333336,
"YValue": 27.7907
},
{
"XValue": 45809.875,
"YValue": 30.7597
},
{
"XValue": 45809.916666666664,
"YValue": 26.594
},
{
"XValue": 45809.958333333336,
"YValue": 13.9091
},
{
"XValue": 45810.0,
"YValue": 56.049
},
{
"XValue": 45810.041666666664,
"YValue": 40.7254
},
{
"XValue": 45810.083333333336,
"YValue": 22.872
},
{
"XValue": 45810.125,
"YValue": 23.4862
},
{
"XValue": 45810.166666666664,
"YValue": 21.8159
},
{
"XValue": 45810.208333333336,
"YValue": 25.0847
},
{
"XValue": 45810.25,
"YValue": 30.7773
},
{
"XValue": 45810.291666666664,
"YValue": 31.4038
},
{
"XValue": 45810.333333333336,
"YValue": 23.5389
},
{
"XValue": 45810.375,
"YValue": 25.3341
},
{
"XValue": 45810.416666666664,
"YValue": 26.8848
},
{
"XValue": 45810.458333333336,
"YValue": 24.8973
},
{
"XValue": 45810.5,
"YValue": 26.6294
},
{
"XValue": 45810.541666666664,
"YValue": 27.5703
},
{
"XValue": 45810.583333333336,
"YValue": 27.7703
},
{
"XValue": 45810.625,
"YValue": 26.4922
},
{
"XValue": 45810.666666666664,
"YValue": 25.3085
},
{
"XValue": 45810.708333333336,
"YValue": 25.8547
},
{
"XValue": 45810.75,
"YValue": 26.8197
},
{
"XValue": 45810.791666666664,
"YValue": 26.1777
},
{
"XValue": 45810.833333333336,
"YValue": 27.4687
},
{
"XValue": 45810.875,
"YValue": 26.7907
},
{
"XValue": 45810.916666666664,
"YValue": 23.6409
},
{
"XValue": 45810.958333333336,
"YValue": 12.4966
},
{
"XValue": 45811.0,
"YValue": 55.5444
},
{
"XValue": 45811.041666666664,
"YValue": 39.8914
},
{
"XValue": 45811.083333333336,
"YValue": 20.472
},
{
"XValue": 45811.125,
"YValue": 18.071
},
{
"XValue": 45811.166666666664,
"YValue": 17.5793
},
{
"XValue": 45811.208333333336,
"YValue": 19.3485
},
{
"XValue": 45811.25,
"YValue": 25.0085
},
{
"XValue": 45811.291666666664,
"YValue": 27.4835
},
{
"XValue": 45811.333333333336,
"YValue": 35.4356
},
{
"XValue": 45811.375,
"YValue": 37.4221
},
{
"XValue": 45811.416666666664,
"YValue": 31.3936
},
{
"XValue": 45811.458333333336,
"YValue": 34.2402
},
{
"XValue": 45811.5,
"YValue": 38.2895
},
{
"XValue": 45811.541666666664,
"YValue": 38.0499
},
{
"XValue": 45811.583333333336,
"YValue": 45.6332
},
{
"XValue": 45811.625,
"YValue": 46.0656
},
{
"XValue": 45811.666666666664,
"YValue": 44.3677
},
{
"XValue": 45811.708333333336,
"YValue": 44.1964
},
{
"XValue": 45811.75,
"YValue": 48.4527
},
{
"XValue": 45811.791666666664,
"YValue": 52.5395
},
{
"XValue": 45811.833333333336,
"YValue": 54.1347
},
{
"XValue": 45811.875,
"YValue": 53.6316
},
{
"XValue": 45811.916666666664,
"YValue": 36.3512
},
{
"XValue": 45811.958333333336,
"YValue": 13.0657
},
{
"XValue": 45812.0,
"YValue": 50.8107
},
{
"XValue": 45812.041666666664,
"YValue": 36.3529
},
{
"XValue": 45812.083333333336,
"YValue": 20.5522
},
{
"XValue": 45812.125,
"YValue": 19.9925
},
{
"XValue": 45812.166666666664,
"YValue": 17.8333
},
{
"XValue": 45812.208333333336,
"YValue": 18.7397
},
{
"XValue": 45812.25,
"YValue": 23.3862
},
{
"XValue": 45812.291666666664,
"YValue": 24.5123
},
{
"XValue": 45812.333333333336,
"YValue": 20.0563
},
{
"XValue": 45812.375,
"YValue": 20.2552
},
{
"XValue": 45812.416666666664,
"YValue": 21.4263
},
{
"XValue": 45812.458333333336,
"YValue": 21.5288
},
{
"XValue": 45812.5,
"YValue": 21.7575
},
{
"XValue": 45812.541666666664,
"YValue": 21.6045
},
{
"XValue": 45812.583333333336,
"YValue": 21.3039
},
{
"XValue": 45812.625,
"YValue": 20.4755
},
{
"XValue": 45812.666666666664,
"YValue": 20.3037
},
{
"XValue": 45812.708333333336,
"YValue": 20.7502
},
{
"XValue": 45812.75,
"YValue": 20.4047
},
{
"XValue": 45812.791666666664,
"YValue": 20.5791
},
{
"XValue": 45812.833333333336,
"YValue": 20.185
},
{
"XValue": 45812.875,
"YValue": 20.5066
},
{
"XValue": 45812.916666666664,
"YValue": 19.3098
},
{
"XValue": 45812.958333333336,
"YValue": 12.7459
},
{
"XValue": 45813.0,
"YValue": 48.3422
},
{
"XValue": 45813.041666666664,
"YValue": 39.2346
},
{
"XValue": 45813.083333333336,
"YValue": 19.2272
},
{
"XValue": 45813.125,
"YValue": 17.4751
},
{
"XValue": 45813.166666666664,
"YValue": 16.8431
},
{
"XValue": 45813.208333333336,
"YValue": 17.9681
},
{
"XValue": 45813.25,
"YValue": 23.9562
},
{
"XValue": 45813.291666666664,
"YValue": 23.9842
},
{
"XValue": 45813.333333333336,
"YValue": 25.3692
},
{
"XValue": 45813.375,
"YValue": 18.7601
},
{
"XValue": 45813.416666666664,
"YValue": 19.1826
},
{
"XValue": 45813.458333333336,
"YValue": 18.7201
},
{
"XValue": 45813.5,
"YValue": 18.8435
},
{
"XValue": 45813.541666666664,
"YValue": 18.8625
},
{
"XValue": 45813.583333333336,
"YValue": 18.4243
},
{
"XValue": 45813.625,
"YValue": 18.0317
},
{
"XValue": 45813.666666666664,
"YValue": 18.3285
},
{
"XValue": 45813.708333333336,
"YValue": 18.4915
},
{
"XValue": 45813.75,
"YValue": 19.0993
},
{
"XValue": 45813.791666666664,
"YValue": 18.8653
},
{
"XValue": 45813.833333333336,
"YValue": 19.2347
},
{
"XValue": 45813.875,
"YValue": 19.4036
},
{
"XValue": 45813.916666666664,
"YValue": 18.4098
},
{
"XValue": 45813.958333333336,
"YValue": 12.9869
},
{
"XValue": 45814.0,
"YValue": 48.2514
},
{
"XValue": 45814.041666666664,
"YValue": 39.9294
},
{
"XValue": 45814.083333333336,
"YValue": 18.8441
},
{
"XValue": 45814.125,
"YValue": 17.8083
},
{
"XValue": 45814.166666666664,
"YValue": 18.257
},
{
"XValue": 45814.208333333336,
"YValue": 18.2029
},
{
"XValue": 45814.25,
"YValue": 24.7681
},
{
"XValue": 45814.291666666664,
"YValue": 24.5643
},
{
"XValue": 45814.333333333336,
"YValue": 21.231
},
{
"XValue": 45814.375,
"YValue": 18.6771
},
{
"XValue": 45814.416666666664,
"YValue": 19.6051
},
{
"XValue": 45814.458333333336,
"YValue": 19.6595
},
{
"XValue": 45814.5,
"YValue": 20.2179
},
{
"XValue": 45814.541666666664,
"YValue": 21.1286
},
{
"XValue": 45814.583333333336,
"YValue": 19.7281
},
{
"XValue": 45814.625,
"YValue": 20.4982
},
{
"XValue": 45814.666666666664,
"YValue": 20.6417
},
{
"XValue": 45814.708333333336,
"YValue": 19.621
},
{
"XValue": 45814.75,
"YValue": 19.7594
},
{
"XValue": 45814.791666666664,
"YValue": 19.8813
},
{
"XValue": 45814.833333333336,
"YValue": 19.5298
},
{
"XValue": 45814.875,
"YValue": 19.4439
}
],
"LabelText": "",
"LegendText": ""
}
],
"DoughnutRadius": 60,
"PieLabelStyle": "inside",
"PieLineColor": "LightGray",
"PieStartAngleDegrees": 0,
"PieCollectedColor": "LightGray",
"PieCollectedLabel": "Other",
"PieCollectedThresholdPercent": 5.0,
"Palette":
[
"Yes^#0d0",
"No^#d00",
"True^#0d0",
"False^#d00",
"OK^#0d0",
"Error^#d00",
"Unknown^#ddd"
],
"FixedLines" : [ { "Name" : "Line 1", "Color" : "Red", "Value" : 50 }, { "Name" : "Line 2", "Color" : "Green", "Value" : 100 } ],
"YAxisMinimum": 0.0,
"LegendWidthPercent": 20.0,
"LegendHeightPercent": 80,
"LegendXPosition": 80,
"LegendYPosition": 0,
"LegendFontSize": 20.0,
"ChartAreaXPosition": 0,
"ChartAreaYPosition": 0,
"ChartAreaWidthPercent": 80,
"ChartAreaHeightPercent": 100,
"InnerPlotXPosition": 10,
"InnerPlotYPosition": 10,
"InnerPlotWidthPercent": 85,
"InnerPlotHeightPercent": 75,
"XAxisIntervalAutoMode": "FixedCount",
"XAxisIntervalType": "Auto",
"XAxisIsAutoFit": true,
"XAxisLabelAutoFitStyle": "DecreaseFont",
"XAxisMajorGridEnabled": true,
"XAxisMajorGridLineColor": null,
"XAxisMajorGridLineDashStyle": null,
"XAxisMajorGridLineWidth": null,
"XAxisMinorGridEnabled": true,
"XAxisMinorGridLineColor": null,
"XAxisMinorGridLineDashStyle": null,
"XAxisMinorGridLineWidth": null,
"XAxisFontColor": "Black",
"XAxisFontSize": 20.0,
"XAxisLineDashStyle": "Solid",
"YAxisIntervalAutoMode": "FixedCount",
"YAxisIntervalType": "Auto",
"YAxisIsAutoFit": true,
"YAxisMajorGridEnabled": true,
"YAxisMajorGridLineColor": "Purple",
"YAxisMajorGridLineDashStyle": "Dash",
"YAxisMajorGridLineWidth": 10,
"YAxisMinorGridEnabled": true,
"YAxisMinorGridLineColor": null,
"YAxisMinorGridLineDashStyle": null,
"YAxisMinorGridLineWidth": null,
"YAxisFontColor": "Black",
"YAxisFontSize": 20.0,
"YAxisLineDashStyle": "Solid",
"YAxisTitle": "%",
"UseYAxisShortLabels": true,
"YAxisShortLabelsAreData": false,
"ChartWidth": 2560,
"ChartHeight": 400,
"YAxisLabelAngle": 0,
"YAxisLabelAutoFitStyle": "DecreaseFont",
"XValueType": "DateTime",
"Enable3d": false,
"Inclination3dDegrees": 50,
"Rotation3dDegrees": 30,
"Perspective3dPercent": 0,
"PointDepth3dPercent": 100,
"PointGapDepth3dPercent": 100,
"LabelFontSize": 16.0,
"LegendStyle": "Column",
"ChartBorderLineColor": "Black",
"ChartBorderLineWidth": 0,
"ChartBorderLineDashStyle": "Solid",
"XAxisLabelFormat": "yyyy-MM-dd",
"XAxisIsLogarithmic": false,
"YAxisIsLogarithmic": false,
"EnsureColorsUnique": false,
"ImageFormat": 1,
"OrderAreaChartSeriesByMean": false,
"OverridePaletteType": "Default",
"LegendTextWrapThreshold": 25
}`, =>Spec]
// Pass the stored 'Spec' variable into the [Object.Graph: macro. This will render a graph in the document
[Object.Graph: graphSpec=`{Spec}`, pageWidthPercent=100]
You can copy the example into Report Studio and run it. The resulting graph will look like this: