Quick StartThe ReportMagic MenuReport StudioFilesSchedulesBatch JobsReport JobsDashboardsProfileAdminAccount DetailsGetting StartedAbout ReportMagicRegistering and Logging InReport LibrarySearching ReportMagicConnections and AgentsWriting ReportsStarting Out With Report StudioCreating Report TemplatesRMScriptMacro ShorthandReporting on Different Periods of TimeSetting Macro Parameter DefaultsStoring Input and Output FilesReport VariablesUsing Variable ParametersSpecifying How Graphs LookStep-by-Step LogicMonitor Graph ExamplesStep-by-Step Jira Graph ExamplesSpecifying How Tables LookChanging Fonts and ColorsUsing Macros in PowerPoint TemplatesRestricted MacrosGenerating Reports Using SchedulesUsing HTML Forms in SchedulesSeeing How Reports RanViewing ReportsCached ValuesUsing AggregationsAdvanced Report StudioAdvanced [Object.Graph:] MacroAPI AccessREST APIREST API - FilesAdvancedRole-Based Access Control (RBAC)SecurityMiscellaneousBadgesCertificationsTips, Tricks and Shortcut KeysMacrosAgentAgent.ConnectionAgent.ExecuteAgent.MonitorMagicNodeListAgent.MonitorMagicNodeMeasurementListAgent.MonitorMagicNodeMeasurementSummaryAgent.MonitorMagicNodePropertyListAgent.MonitorMagicNodeTypeListAgent.PropertyAgent.SqlAnalysisAgent.SqlGraphAgent.SqlListAgent.SqlTableAgent.SqlValueAgent.SqlValuesAgent.WebQueryAlertMagicAlertMagic.MetricsGraphAlertMagic.MetricsListAlertMagic.StatisticsAutoTaskAutoTask.AccountListAutoTask.AccountPropertyAutoTask.ConnectionAutoTask.CountAutoTask.FieldListAutoTask.FieldPropertyAutoTask.ListAutoTask.PropertyAutoTask.SummaryValueAutoTask.TicketListAutoTask.TicketPropertyAzureAzure.ConnectionAzure.LogAnalyticsGraphAzure.LogAnalyticsQueryAzure.LogAnalyticsScalarAzure.LogAnalyticsTableAzure.ResourceGroupListAzure.ResourceListAzure.ResourcePropertiesAzure.SentinelAlertRuleListAzure.SentinelConnectorListAzure.SentinelIncidentListAzure.SentinelThreatIndicatorListAzure.SentinelThreatIndicatorMetricListAzure.SubscriptionListBloggerBlogger.BlogPropertyBlogger.ConnectionBlogger.PageBlogger.PageListBlogger.PagePropertyBlogger.PostBlogger.PostListBlogger.PostPropertyCacheCache.ExpiresCache.GetCache.IsSetCache.SetCache.UnsetCertifyCertify.ConnectionCertify.DepartmentListCertify.DepartmentPropertyCherwellCherwell.BusinessObjectDefinitionListCherwell.BusinessObjectListCherwell.BusinessObjectSchemaCherwell.BusinessObjectSummaryCherwell.ConnectionCiscoCisco.ConnectionCisco.FirmwareVersionPropertyCisco.SecurityAdvisoryListCisco.SerialNumberPropertyCisco.SoftwareSuggestionListCiscoDnaCenterCiscoDnaCenter.ConnectionCiscoDnaCenter.SiteListCiscoDnaCenter.SitePropertyCloudHealthCloudHealth.AssetDetailsCloudHealth.AssetListCloudHealth.AvailableReportDimensionsCloudHealth.AvailableReportOptionsCloudHealth.AvailableReportsListCloudHealth.AwsAccountDetailsCloudHealth.AwsAccountsListCloudHealth.ConnectionCloudHealth.CustomerDetailsCloudHealth.CustomerListCloudHealth.CustomerReportDetailsCloudHealth.CustomerStatementDetailsCloudHealth.OrganisationAccountsListCloudHealth.OrganisationListCloudHealth.QueryCodacyCodacy.ConnectionCodacy.ListConnectWiseManageConnectWiseManage.ConnectionConnectWiseManage.CountConnectWiseManage.DictionaryConnectWiseManage.ListConnectWiseManage.PropertyCoreArrayArray.CountBreakBreakpointCalculateColorCommentContinueConvertDeleteDeleteRowDocumentBookmarkDocumentBreakDocumentInsertSectionDocumentSectionEmailEmailFileEmailReportExecuteForEachFormatTableCellFormatTableRowIfIgnoreIncInsertTableCellImageIsSetLinearRegressionLinkMapObjectRandomRegexRepeatRowSearchAndReplaceSectionSettingsSleepStopStopwatchStringStringIndexSubstringSwitchThrowExceptionUnsetWarningWhileDatabaseDatabase.ConnectionDatabase.GraphDatabase.ListDatabase.TableDatabase.ValueDatabase.ValuesDataMagicDataMagic.SyncDictionaryDictionary.ItemDictionary.KeysDictionary.ValuesDocumentDocument.SetPropertiesDropBoxSignDropBoxSign.ConnectionFileFile.CopyFile.CopyOutputFilesFile.Csv.CellFile.Csv.RowFile.Csv.RowCountFile.Csv.TableFile.EmbedFile.ExecuteFile.ExistsFile.ImageFile.InsertFile.ListFile.LoadListFile.LoadObjectFile.LoadStringFile.LoadVariablesFile.SaveObjectFile.Xlsx.CellFile.Xlsx.RowFile.Xlsx.RowCountFile.Xlsx.TableFunctionFunction.CallFunction.DefineGoogleGoogle.ConnectionGoogle.TableGraphGraph.AddDataGraph.DeleteDataGraph.RenameDataGraph.UpdateGravatarGravatar.ImageHaloPsaHaloPsa.ConnectionHaloPsa.ListHighlightHighlight.BearerSummaryHighlight.BroadbandSummaryHighlight.CellularSummaryHighlight.ConnectionHighlight.FolderListHighlight.HttpServerPerformanceSummaryHighlight.IcmpTcpUdpPerformanceSummaryHighlight.MosPerformanceSummaryHighlight.PrecisionPerformanceSummaryHighlight.TunnelSummaryHighlight.WatchNodeListHighlight.WirelessAccessPointSummaryHubSpotHubSpot.ListHubSpot.PropertyHubSpot.QueryJarrayJarray.TableJiraJira.AttachmentImageJira.AttachmentListJira.AttachmentPropertyJira.ConnectionJira.GraphJira.InsertMarkupJira.IssueAnalysisJira.IssueCommentListJira.IssueCommentPropertyJira.IssueLastCommentPropertyJira.IssueListJira.IssuePropertyJira.IssueResponseTimeJira.LastImageJira.StatusListJira.TableJira.TimeInStateJira.UserListJira.UserPropertyJsonJson.ItemJson.ListKrokiKroki.ImageListList.AddList.AnalysisList.ComplementList.CountList.DequeueList.DuplicatesList.FirstList.GraphList.GroupByList.IndicesOfList.IntersectionList.ItemList.RangeList.SelectList.SelectColumnsList.SortList.SummaryValueList.TableList.UnionList.WhereLogicMonitorLogicMonitor.AccountPropertyLogicMonitor.AlertAnalysisLogicMonitor.AlertCalendarLogicMonitor.AlertCountLogicMonitor.AlertListLogicMonitor.AlertMapLogicMonitor.AlertPropertyLogicMonitor.AlertRuleListLogicMonitor.AlertRulePropertyLogicMonitor.AlertStatusLogicMonitor.AlertTableLogicMonitor.AppliesToFunctionListLogicMonitor.AppliesToFunctionPropertyLogicMonitor.AppliesToListLogicMonitor.AuditEventAnalysisLogicMonitor.BigNumberWidgetValuesLogicMonitor.ClearCacheLogicMonitor.CollectorExecuteLogicMonitor.CollectorGroupListLogicMonitor.CollectorGroupPropertyLogicMonitor.CollectorListLogicMonitor.CollectorPropertyLogicMonitor.CollectorVersionListLogicMonitor.CollectorVersionPropertyLogicMonitor.ConfigCheckListLogicMonitor.ConfigCheckPropertyLogicMonitor.ConfigSourceGroupListLogicMonitor.ConfigSourceListLogicMonitor.ConfigSourcePropertyLogicMonitor.ConfigSourceXmlLogicMonitor.ConnectionLogicMonitor.ConnectionApiTokenLogicMonitor.ConvertToLiveWidgetLogicMonitor.DashboardLogicMonitor.DashboardGroupListLogicMonitor.DashboardGroupPropertyLogicMonitor.DashboardListLogicMonitor.DashboardPropertyLogicMonitor.DashboardWidgetListLogicMonitor.DatamartSyncLogicMonitor.DataPointListLogicMonitor.DataPointPropertyLogicMonitor.DataSourceGraphListLogicMonitor.DataSourceGraphPropertyLogicMonitor.DataSourceGroupListLogicMonitor.DataSourceListLogicMonitor.DataSourcePropertyLogicMonitor.DataSourceXmlLogicMonitor.DeviceConfigSourceFileLogicMonitor.DeviceConfigSourceInstanceListLogicMonitor.DeviceConfigSourceListLogicMonitor.DeviceConfigSourcePropertyLogicMonitor.DeviceCountLogicMonitor.DeviceDataSourceListLogicMonitor.DeviceDataSourcePropertyLogicMonitor.DeviceGroupListLogicMonitor.DeviceGroupPropertyLogicMonitor.DeviceListLogicMonitor.DevicePropertyLogicMonitor.DeviceSlaWidgetPropertyLogicMonitor.DeviceTableLogicMonitor.EscalationChainDestinationListLogicMonitor.EscalationChainDestinationPropertyLogicMonitor.EscalationChainListLogicMonitor.EscalationChainPropertyLogicMonitor.EventSourceFilterListLogicMonitor.EventSourceFilterPropertyLogicMonitor.EventSourceGroupListLogicMonitor.EventSourceListLogicMonitor.EventSourcePropertyLogicMonitor.EventSourceXmlLogicMonitor.FinancialInformationLogicMonitor.ForecastLogicMonitor.GraphLogicMonitor.GraphSpecificationLogicMonitor.HistoricSdtListLogicMonitor.ImageLogicMonitor.InstanceAnalysisLogicMonitor.InstanceCountLogicMonitor.InstanceDetailsTableLogicMonitor.InstanceGroupCountLogicMonitor.InstanceGroupListLogicMonitor.InstanceListLogicMonitor.InstancePropertyLogicMonitor.IntegrationListLogicMonitor.IntegrationPropertyLogicMonitor.JobMonitorListLogicMonitor.JobMonitorPropertyLogicMonitor.LastMeasurementLogicMonitor.LogAnalysisLogicMonitor.LogicModuleMetadataPropertyLogicMonitor.LogicModuleUpdateListLogicMonitor.LogicModuleUpdatePropertyLogicMonitor.LogItemListLogicMonitor.NetscanGroupListLogicMonitor.NetscanGroupPropertyLogicMonitor.NetscanListLogicMonitor.NetscanPropertyLogicMonitor.NewUserMessagePropertyLogicMonitor.PaymentInformationLogicMonitor.PercentageAvailabilityLogicMonitor.PortalVersionLogicMonitor.PropertySourceGroupListLogicMonitor.PropertySourceJsonLogicMonitor.PropertySourceListLogicMonitor.PropertySourcePropertyLogicMonitor.QueryLogicMonitor.RecipientGroupListLogicMonitor.RecipientGroupPropertyLogicMonitor.RecycleBinItemListLogicMonitor.RecycleBinItemPropertyLogicMonitor.ReportGroupListLogicMonitor.ReportGroupPropertyLogicMonitor.ReportListLogicMonitor.ReportPropertyLogicMonitor.ResourceAnalysisLogicMonitor.ResourceGroupAnalysisLogicMonitor.RoleListLogicMonitor.RolePropertyLogicMonitor.SdtListLogicMonitor.SdtPercentageLogicMonitor.SdtPropertyLogicMonitor.SingleSignOnPropertyLogicMonitor.SlaWidgetValuesLogicMonitor.SnmpSysOidMapListLogicMonitor.SnmpSysOidMapPropertyLogicMonitor.SummaryValueLogicMonitor.SummaryValueListLogicMonitor.ThresholdLogicMonitor.TrafficTableLogicMonitor.UnmonitoredDeviceListLogicMonitor.UnmonitoredDevicePropertyLogicMonitor.UserApiTokenListLogicMonitor.UserApiTokenPropertyLogicMonitor.UserListLogicMonitor.UserPropertyLogicMonitor.WebsiteCheckpointDataListLogicMonitor.WebsiteCountLogicMonitor.WebsiteGroupAnalysisLogicMonitor.WebsiteGroupCountLogicMonitor.WebsiteGroupListLogicMonitor.WebsiteGroupPropertyLogicMonitor.WebsiteListLogicMonitor.WebsitePropertyLogicMonitor.WidgetStatusMagicSuiteMagicSuite.ApplyBrandMagicSuite.BadgeListMagicSuite.ConnectionMagicSuite.ConnectionListMagicSuite.ConnectionPropertyMagicSuite.ConnectionStatusPropertyMagicSuite.FeedbackListMagicSuite.FeedbackPropertyMagicSuite.GlobalSettingPropertyMagicSuite.MacroGroupListMagicSuite.MacroHelpMagicSuite.MacroListMagicSuite.ReportBatchJobCountMagicSuite.ReportBatchJobListMagicSuite.ReportBatchJobPropertyMagicSuite.ReportConnectionSummaryMagicSuite.ReportJobCountMagicSuite.ReportJobListMagicSuite.ReportJobPropertyMagicSuite.ReportMacroCountMagicSuite.ReportPropertyMagicSuite.ReportScheduleCountMagicSuite.ReportScheduleListMagicSuite.ReportSchedulePropertyMagicSuite.SetReportPropertyMagicSuite.SubscriptionListMagicSuite.SystemPropertyMagicSuite.TenantImageMagicSuite.TopicHelpMagicSuite.VersionMerakiMeraki.CameraImageMeraki.ConfigurationChangeListMeraki.ConnectionMeraki.DevicePropertyMeraki.DeviceUplinkPropertyMeraki.EndOfLifeMeraki.NetworkClientListMeraki.NetworkDeviceListMeraki.NetworkEventListMeraki.NetworkListMeraki.NetworkPropertyMeraki.NetworkSwitchPortsListMeraki.NetworkSwitchStackListMeraki.OrganizationDeviceLicenseListMeraki.OrganizationDeviceLicensePropertyMeraki.OrganizationDeviceListMeraki.OrganizationDeviceListStatusPropertyMeraki.OrganizationInventoryListMeraki.OrganizationLicenseStatePropertyMeraki.OrganizationListMeraki.OrganizationPropertyMeraki.OrganizationUplinkUsageMeraki.WirelessNetworkClientConnectionStatsPropertyMeraki.WirelessNetworkClientLatencyListMeraki.WirelessNetworkClientsConnectionStatsListMeraki.WirelessNetworkClientsLatencyListMeraki.WirelessNetworkConnectionStatsPropertyMeraki.WirelessNetworkDeviceConnectionStatsPropertyMeraki.WirelessNetworkDeviceLatencyListMeraki.WirelessNetworkDevicesConnectionStatsListMeraki.WirelessNetworkDevicesLatencyListMeraki.WirelessNetworkLatencyListMicrosoftDataverseMicrosoftDataverse.ConnectionMicrosoftDataverse.CountMicrosoftDataverse.EntityDefinitionsListMicrosoftDataverse.EntityListMicrosoftDataverse.EntityPropertyListMicrosoftDataverse.ListMicrosoftDataverse.PropertyMicrosoftGraphMicrosoftGraph.ConnectionMicrosoftGraph.QueryObjectObject.ArrayCountObject.GraphObject.PropertyObject.TypeObject.UnpackObject.UnpackVariablesOpenAiOpenAi.AnswerOpenAi.CompleteOpenAi.ConnectionOpenAi.ImageQuickBooksQuickBooks.ConnectionQuickBooks.PropertySalesforceSalesforce.ConnectionSalesforce.ListSalesforce.PropertyServiceNowServiceNow.ConnectionServiceNow.CountServiceNow.CreateServiceNow.DeleteServiceNow.DictionaryServiceNow.ListServiceNow.PropertyServiceNow.UpdateShapeShape.AddShape.CloneShape.DeleteShape.FormatShape.HideShape.SetPropertyShape.SetTextSideroLabsOmniSideroLabsOmni.ConnectionSideroLabsOmni.ListSideroLabsOmni.ObjectSlackSlack.ConnectionSlack.MessageSlideSlide.DeleteSlide.DeleteSectionSlide.LinkSlide.MoveToSlide.RepeatSmtpSmtp.ConnectionSnmpSnmp.EnterprisePropertySolarWindsSolarWinds.ConnectionSolarWinds.SqlListSolarWinds.SqlTableSqlSql.AnalysisTableTable.ColumnCountTable.DeleteTable.FormatTable.GraphTable.MergeCellsTable.MergeRowsTable.RowCountTable.SaveTable.SortTable.WorldMapTimeCalendarCronHumanReadableCronRunDateDateRangeDateTimeDateTime.IsInWorkHoursDateTime.WorkHoursDurationTimeSpanTogglToggl.ClientListToggl.ClientPropertyToggl.ConnectionToggl.ProjectListToggl.ProjectPropertyToggl.ProjectReportPropertyToggl.TimeEntryListToggl.TimeEntryPropertyToggl.UserListToggl.UserPropertyToggl.WorkspaceListToggl.WorkspacePropertyTwilioTwilio.ConnectionTwilio.SmsUkParliamentUkParliament.PetitionCountUkParliament.PetitionListUkParliament.PetitionPropertyVariableVariable.ImageVariable.ListVariable.PropertyWebWeb.ConnectionWeb.HtmlWeb.ImageWeb.QueryWeb.ScreenshotWeb.TableWeb.TextXlsxXlsx.AddAnalysisXlsx.EmbedZendeskZendesk.ConnectionZendesk.ListZendesk.PropertyZoho.DeskZoho.Desk.ZohoListZoho.Desk.ZohoProperty

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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid 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.
  • 0 - Jpeg
  • 1 - Png
  • 2 - Bmp
  • 3 - Tiff
  • 4 - Gif
  • 5 - Emf
  • 6 - EmfDual
  • 7 - EmfPlus
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.
  • Column - Legend items are displayed using one column and multiple rows.
  • Row - Legend items are displayed using multiple columns and one row.
  • Table - Legend items are displayed using multiple columns and multiple rows.
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.
  • None - No marker is displayed for the series or data point.
  • Square - A square marker is displayed.
  • Circle - A circular marker is displayed.
  • Diamond - A diamond-shaped marker is displayed.
  • Triangle - A triangular marker is displayed.
  • Cross - A cross-shaped marker is displayed.
  • Star4 - A 4-point star-shaped marker is displayed.
  • Star5 - A 5-point star-shaped marker is displayed.
  • Star6 - A 6-point star-shaped marker is displayed.
  • Star10 - A 10-point star-shaped marker is displayed.
OrderAreaChartSeriesByMean bool Whether to order area chart series by their mean values.
OverridePaletteType OverridePaletteType The type of palette override to use.
  • Default - Use the default palette.
  • Custom - Use a custom palette. You must put the palette in CustomPaletteHexCodes, separated by a semi-colon, e.g. "CustomPaletteHexCodes" : "Red;#00FF00".
  • LogicMonitor - Use the LogicMonitor palette, in this order: Blue 1 (#0076FF), Green 2 (#81AE49), Orange 2 (#FF9A06), Purple 2 (#621F71), Red 2 (#B70F12), Gray 1 (#1C2841), Blue 4 (#0027B3), Green 1 (#467034), Red 1 (#800000), Orange 1 (#FE5A1D), Blue 2 (#3391FF), Green 3 (#A7C680), Purple 1 (#33033E), Red 3 (#ED1E24), Blue 3 (#66ADFF), Yellow 1 (#FFCC00), Purple 3 (#86549C), Gray 2 (#495367), Blue 5 (#0037FF).
  • RainbowStandard - Use the standard rainbow palette in this order: Red, Orange, Yellow, Green, Blue, Indigo, Violet.
  • RainbowExtended - Use the extended rainbow palette in this order: Red, DarkOrange, Orange, Yellow, LightYellow, LightGreen, Green, LightBlue, Blue, Indigo, DarkViolet, Violet.
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.
  • Inside - the label is shown on the inside.
  • Outside - the label is shown on the outside.
  • Disabled - the label is not shown.
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.
  • FixedCount - A fixed number of intervals are always created on the axis.
  • VariableCount - The number of axis intervals depends on the axis length.
XAxisIntervalType DateTimeIntervalType The type of interval for the X axis.
  • Auto - Automatically determined by the chart control.
  • Number - Interval type is numerical.
  • Years - Interval type is in years.
  • Months - Interval type is in months.
  • Weeks - Interval type is in weeks.
  • Days - Interval type is in days.
  • Hours - Interval type is in hours.
  • Minutes - Interval type is in minutes.
  • Seconds - Interval type is in seconds.
  • Milliseconds - Interval type is in milliseconds.
  • NotSet - The interval type is not set.
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.
  • None - No label changes are allowed.
  • IncreaseFont - Label font can be increased.
  • DecreaseFont - Label font can be decreased.
  • StaggeredLabels - Labels can be staggered.
  • LabelsAngleStep30 - Labels can be angled in 30 degree steps.
  • LabelsAngleStep45 - Labels can be angled in 45 degree steps.
  • LabelsAngleStep90 - Labels can be angled in 90 degree steps.
  • WordWrap - Labels can be word wrapped.
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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid 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.
  • Auto - Automatically determined by the chart control.
  • Number - Interval type is numerical.
  • Years - Interval type is in years.
  • Months - Interval type is in months.
  • Weeks - Interval type is in weeks.
  • Days - Interval type is in days.
  • Hours - Interval type is in hours.
  • Minutes - Interval type is in minutes.
  • Seconds - Interval type is in seconds.
  • Milliseconds - Interval type is in milliseconds.
  • NotSet - The interval type is not set.
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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid line.
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.
  • Auto - Automatically determined by the chart control.
  • Number - Interval type is numerical.
  • Years - Interval type is in years.
  • Months - Interval type is in months.
  • Weeks - Interval type is in weeks.
  • Days - Interval type is in days.
  • Hours - Interval type is in hours.
  • Minutes - Interval type is in minutes.
  • Seconds - Interval type is in seconds.
  • Milliseconds - Interval type is in milliseconds.
  • NotSet - The interval type is not set.
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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid line.
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.
  • FixedCount - A fixed number of intervals are always created on the axis.
  • VariableCount - The number of axis intervals depends on the axis length.
YAxisIntervalType DateTimeIntervalType The type of interval for the Y axis.
  • Auto - Automatically determined by the chart control.
  • Number - Interval type is numerical.
  • Years - Interval type is in years.
  • Months - Interval type is in months.
  • Weeks - Interval type is in weeks.
  • Days - Interval type is in days.
  • Hours - Interval type is in hours.
  • Minutes - Interval type is in minutes.
  • Seconds - Interval type is in seconds.
  • Milliseconds - Interval type is in milliseconds.
  • NotSet - The interval type is not set.
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.
  • None - No label changes are allowed.
  • IncreaseFont - Label font can be increased.
  • DecreaseFont - Label font can be decreased.
  • StaggeredLabels - Labels can be staggered.
  • LabelsAngleStep30 - Labels can be angled in 30 degree steps.
  • LabelsAngleStep45 - Labels can be angled in 45 degree steps.
  • LabelsAngleStep90 - Labels can be angled in 90 degree steps.
  • WordWrap - Labels can be word wrapped.
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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid 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.
  • Auto - Automatically determined by the chart control.
  • Number - Interval type is numerical.
  • Years - Interval type is in years.
  • Months - Interval type is in months.
  • Weeks - Interval type is in weeks.
  • Days - Interval type is in days.
  • Hours - Interval type is in hours.
  • Minutes - Interval type is in minutes.
  • Seconds - Interval type is in seconds.
  • Milliseconds - Interval type is in milliseconds.
  • NotSet - The interval type is not set.
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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid line.
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.
  • Auto - Automatically determined by the chart control.
  • Number - Interval type is numerical.
  • Years - Interval type is in years.
  • Months - Interval type is in months.
  • Weeks - Interval type is in weeks.
  • Days - Interval type is in days.
  • Hours - Interval type is in hours.
  • Minutes - Interval type is in minutes.
  • Seconds - Interval type is in seconds.
  • Milliseconds - Interval type is in milliseconds.
  • NotSet - The interval type is not set.
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.
  • NotSet - The line style is not set.
  • Dash - A dashed line.
  • DashDot - A line with a repeating dash-dot pattern.
  • DashDotDot - A line with a repeating dash-dot-dot pattern.
  • Dot - A line with a repeating dot pattern.
  • Solid - A solid line.
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.
  • Point - Point chart type.
  • FastPoint - FastPoint chart type.
  • Line - Line chart type.
  • Spline - Spline chart type.
  • StepLine - StepLine chart type.
  • FastLine - FastLine chart type.
  • Bar - Bar chart type.
  • StackedBar - Stacked bar chart type.
  • StackedBar100 - Hundred-percent stacked bar chart type.
  • Column - Column chart type.
  • StackedColumn - Stacked column chart type.
  • StackedColumn100 - Hundred-percent stacked column chart type.
  • Area - Area chart type.
  • SplineArea - Spline area chart type.
  • StackedArea - Stacked area chart type.
  • StackedArea100 - Hundred-percent stacked area chart type.
  • Pie - Pie chart type.
  • Doughnut - Doughnut chart type.
  • Radar - Radar chart type.
  • Polar - Polar chart type.
  • BoxPlot - Box plot chart type.
  • Funnel - Funnel chart type.
  • Pyramid - Pyramid chart type.
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.
  • Auto - Automatically determined.
  • Double - A double value.
  • Single - A float value.
  • Int32 - An integer value.
  • Int64 - A long value.
  • UInt32 - An unsigned integer value.
  • UInt64 - An unsigned long value.
  • String - A string value.
  • DateTime - A DateTime value.
  • Date - A DateOnly value.
  • Time - A TimeOnly value.
  • DateTimeOffset - A DateTimeOffset value.

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:

An unhandled error has occurred. Reload 🗙