Quick StartThe ReportMagic MenuSchedulesBatch JobsReport StudioFilesProfileAdminAccount DetailsMeraki WebHooksGetting StartedAbout ReportMagicRegistering and Logging InSearching 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 StudioAPI 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.MetricsListAutoTaskAutoTask.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.QueryConnectWiseManageConnectWiseManage.ConnectionConnectWiseManage.CountConnectWiseManage.DictionaryConnectWiseManage.ListConnectWiseManage.PropertyCoreArrayArray.CountBreakBreakpointCalculateColorCommentContinueConvertDeleteDeleteRowDocumentBookmarkDocumentBreakDocumentInsertSectionDocumentSectionEmailEmailFileEmailReportExecuteForEachFormatTableCellFormatTableRowIfIgnoreIncInsertTableCellImageIsSetLinearRegressionLinkMapObjectRandomRegexRepeatRowSearchAndReplaceSectionSettingsSleepStopStopwatchStringStringIndexSubstringSwitchThrowExceptionUnsetWarningDatabaseDatabase.ConnectionDatabase.GraphDatabase.ListDatabase.TableDatabase.ValueDatabase.ValuesDataMagicDataMagic.SyncDictionaryDictionary.ItemDictionary.KeysDictionary.ValuesDocumentDocument.SetPropertiesFileFile.CopyFile.CopyOutputFilesFile.Csv.CellFile.Csv.RowFile.Csv.RowCountFile.Csv.TableFile.EmbedFile.ExecuteFile.ExistsFile.ImageFile.InsertFile.ListFile.LoadListFile.LoadObjectFile.LoadStringFile.LoadVariablesFile.Xlsx.CellFile.Xlsx.RowFile.Xlsx.RowCountFile.Xlsx.TableFunctionFunction.CallFunction.DefineGoogleGoogle.ConnectionGoogle.TableGraphGraph.AddDataGraph.DeleteDataGraph.RenameDataGraph.UpdateGravatarGravatar.ImageHighlightHighlight.BearerSummaryHighlight.BroadbandSummaryHighlight.CellularSummaryHighlight.ConnectionHighlight.FolderListHighlight.HttpServerPerformanceSummaryHighlight.IcmpTcpUdpPerformanceSummaryHighlight.MosPerformanceSummaryHighlight.PrecisionPerformanceSummaryHighlight.TunnelSummaryHighlight.WatchNodeListHighlight.WirelessAccessPointSummaryHubSpotHubSpot.ListJarrayJarray.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.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.SubscriptionListMerakiMeraki.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.MicrosoftDataverseConnectionMicrosoftGraph.QueryObjectObject.ArrayCountObject.PropertyObject.TypeObject.UnpackObject.UnpackVariablesOpenAiOpenAi.AnswerOpenAi.CompleteOpenAi.ConnectionOpenAi.ImageQuickBooksQuickBooks.ConnectionQuickBooks.PropertyReportMagicReportMagic.ApplyBrandReportMagic.BadgeListReportMagic.ConnectionListReportMagic.ConnectionPropertyReportMagic.ConnectionStatusPropertyReportMagic.FeedbackListReportMagic.FeedbackPropertyReportMagic.MacroGroupListReportMagic.MacroHelpReportMagic.MacroListReportMagic.ReportBatchJobCountReportMagic.ReportBatchJobListReportMagic.ReportBatchJobPropertyReportMagic.ReportConnectionSummaryReportMagic.ReportJobCountReportMagic.ReportJobListReportMagic.ReportJobPropertyReportMagic.ReportMacroCountReportMagic.ReportPropertyReportMagic.ReportScheduleCountReportMagic.ReportScheduleListReportMagic.ReportSchedulePropertyReportMagic.SetReportPropertyReportMagic.SystemPropertyReportMagic.TenantImageReportMagic.TopicHelpReportMagic.VersionSalesforceSalesforce.ConnectionSalesforce.ListSalesforce.PropertyServiceNowServiceNow.ConnectionServiceNow.CountServiceNow.CreateServiceNow.DeleteServiceNow.DictionaryServiceNow.ListServiceNow.PropertyServiceNow.UpdateShapeShape.AddShape.CloneShape.DeleteShape.FormatShape.HideShape.SetPropertyShape.SetTextSlackSlack.ConnectionSlack.MessageSlideSlide.DeleteSlide.DeleteSectionSlide.LinkSlide.MoveToSlide.RepeatSmtpSmtp.ConnectionSnmpSnmp.EnterprisePropertySolarWindsSolarWinds.ConnectionSolarWinds.SqlListSolarWinds.SqlTableSqlSql.AnalysisTableTable.ColumnCountTable.DeleteTable.FormatTable.GraphTable.MergeCellsTable.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

Specifying How Graphs Look

What Graphs Can I Produce?

There are a number of different graph types available in ReportMagic with different types of graph suiting different types of data:
  • Line, Area, Spline, Bubble and Step Line graph types work best with timeseries data
  • Pie, Doughnut, Bar and Column take category data
  • Other types available include: Point, FastPoint, FastLine, Bar, StackedBar, StackedBar100, StackedColumn, StackedColumn100, Area, SplineArea, StackedArea, StackedArea100, Radar, Polar, BoxPlot, Funnel and Pyramid.
Much of your data will originate from tables - data returned by an SQL query, a list from a CSV file or a range from an Excel spreadsheet and while it is tempting to just show as a table in your report, with little effort, you can display it graphically to show the contents more clearly.

Use these macros to produce graphs: 
  • [Agent.SqlGraph:] - when you have a connection to a SQL server and want to plot results returned by an SQL query 
  • [Database.Graph:] - when you have a connection to a database and want to plot SQL data
  • [Jira.Graph:] - when you have a connection to Jira and want to plot results returned by a JQL statement
  • [List.Graph:] - a general purpose graph macro using data from the values parameter
  • [LogicMonitor.Graph:]  - for graphing your LogicMonitor data
  • [Table.Graph:]  - displays a graph based on a table that immediately precedes it
Tip: Copy the examples below or some of the Help examples to ReportStudio and try changing various parameters to get comfortable producing customized graphs. 

    Graphing Table Data

    Starting with a simple example, data in this table is transformed into a graph using the [Table.Graph:] macro immediately below the table,
    DateTime
    DurationMs
    2019-01-01
    523
    2019-01-02
    710
    2019-01-03
    692
    2019-01-04
    584

    [Table.Graph: chartType=Line, yAxisLabel="Duration MS", chartWidth=600, chartHeight=200, xAxisFontSize=8, yAxisFontSize=8, yAxisWidthPercent=20, legendWidthPercent=20, legendFontSize=8]

    producing this Line graph:


    Play around with changing the above chartType to Area, Spline (curved line), Spline Area, Bubble and Step Line.

    If your table has been automatically generated by ReportMagic and you want ONLY to display the graphs and not the table, use the [List.Graph:] macro.

    Graphing List Data

    The [List.Graph:] macro produces a graph from the contents of a list using the values parameter. In the following example, think of the list in the values parameter as a table with the caret acting as a field delimiter and the semi-colon acting as the row delimiter. The first three entries "Element^Line1^Line2" are the column headings and Line1 & Line2 are treated as the graph labels:

    [List.Graph: chartType=Line, values=Element^Line1^Line2;1^2^3;2^4^6;3^6^9;4^8^12;5^10^15, xAxisLabel=Value, yAxisLabel=Element, chartWidth=600, chartHeight=200, xAxisFontSize=8, yAxisFontSize=8, yAxisWidthPercent=15, legendWidthPercent=15, chartAreaWidthPercent=70, chartAreaXPosition=5, chartAreaHeightPercent=75, chartAreaYPosition=15, legendFontSize=8]

    This example produces:

    Example of Changing How the X Axis is Displayed on a Column Graph 

    The [List.Graph:] lets you graph list and list of lists data structures. Column, Line, and Area graphs show data grouped by category or time period (the first Column) with the remaining columns being data sets to be shown on the graph. Suppose we have the following set of data containing numbers of tickets by type raised each month:

    Legacy style:
    [: `Month^Incidents^Problems^Service Requests^Change Requests;Jan 22^15^13^5^7;Feb 22^12^5^7^7;Mar 22^14^7^7^9;Apr 22^13^20^7^3;May 22^15^15^6^7;Jun 22^21^22^4^5;Jul 22^15^9^7^3;Aug 22^21^17^11^3;Sep 22^15^8^9^3;Oct 22^15^11^8^4;Nov 22^11^10^5^3;Dec 22^9^5^1^3`, =>GraphData]

    or in List of Lists style:
    [=: `list(list('Month','Incidents','Problems','Service Requests','Change Requests'),list('Jan 22',15,13,5,7),list('Feb 22',12,5,7,7),list('Mar 22',14,7,7,9),list('Apr 22',13,20,7,3),list('May 22',15,15,6,7),list('Jun 22',21,22,4,5),list('Jul 22',15,9,7,3),list('Aug 22',21,17,11,3),list('Sep 22',15,8,9,3),list('Oct 22',15,11,8,4),list('Nov 22',11,10,5,3),list('Dec 22',9,5,1,3))`,=>GraphData]

    If we want a column graph, [List.Graph: values={=GraphData}, chartTypes=Column]produces a graph that is difficult to read, because ReportMagic assumes we want to have a time series graph and doesn't show all dates on the X Axis.

    So let's add the xValueType=String parameter so the macro treats the first column as strings, not dates and will change how the xAxis values display, and we will also use xAxisIntervalAutoMode=VariableCount to tell the macro to display all the values.

    [List.Graph: values={=GraphData}, chartTypes=Column, xValueType=String, xAxisIntervalAutoMode=VariableCount]

    That is better:

    Tip: Use the [Settings:] macro to define properties in advance of your graph macros. This makes individual macros easier to read and ensures that your graphs have the same style throughout your document.

    We can make further improvements to the graph above by making the graph the full width of the page and moving the legend to below. To be able to successfully do this we need to understand positioning.

    Understanding Graph Positioning with a Column Chart Type

    Lets add some background colour so we can see the positioning of everything:

    [Settings:
        List.Graph.chartAreaBackgroundColor=Yellow,
        List.Graph.legendBackgroundColor=Cyan,
        List.Graph.chartBackgroundColor=Green,
        List.Graph.xValueType=String,
        List.Graph.xAxisIntervalAutoMode=VariableCount,
        List.Graph.xAxisInterval=1
    ]
    [List.Graph: values={=GraphData}, chartTypes=Column]

    We now have:


    You can see that if we want to move the legend (in cyan) under the chart, we will need to:
    Reduce the height of the chartArea (in yellow) which we can do with chartAreaHeightPercent=90, setting the height of the legend to the remaining 10%. We can then change the width of the chartArea and the legend to take up all the space across the page, with chartAreaWidthPercent=100 and legendWidthPercent=100. Finally, we can move the legend and change the style to row with legendXPosition=0, legendYPosition=90 and legendStyle=Row.  Here's the [Settings:] macro with those parameters set: 
     
    [Settings:
        List.Graph.chartAreaBackgroundColor=Yellow,
        List.Graph.legendBackgroundColor=Cyan,
        List.Graph.chartBackgroundColor=Green,
        List.Graph.xValueType=String,
        List.Graph.xAxisIntervalAutoMode=VariableCount,
        List.Graph.xAxisInterval=1,
        List.Graph.chartAreaHeightPercent=90,
        List.Graph.legendHeightPercent=10,
        List.Graph.chartAreaWidthPercent=100,
        List.Graph.legendWidthPercent=100,
        List.Graph.legendXPosition=0,
        List.Graph.legendYPosition=90,
        List.Graph.legendStyle=Row
    ]

    [List.Graph: values={=GraphData}, chartTypes=Column] now  produces a graph like this:

    Let's improve the whole thing by adding: 
    List.Graph.chartHeight=550
    List.Graph.chartWidth=1200
    List.Graph.yAxisFontSize=12
    List.Graph.xAxisFontSize=12
    List.Graph.legendFontSize=12

    remove the minor grids and the xAxis Major grid with:
    List.Graph.xAxisMajorGridEnabled=false
    List.Graph.xAxisMinorGridEnabled=false
    List.Graph.yAxisMinorGridEnabled=false

    and remove the line about background colour.

    So our final macros are:
     
    [Settings:
        List.Graph.xValueType=String,
        List.Graph.xAxisIntervalAutoMode=VariableCount,
        List.Graph.xAxisInterval=1,
        List.Graph.chartAreaHeightPercent=90,
        List.Graph.legendHeightPercent=10,
        List.Graph.chartAreaWidthPercent=100,
        List.Graph.legendWidthPercent=100,
        List.Graph.legendXPosition=0,
        List.Graph.legendYPosition=90,
        List.Graph.legendStyle=Row,
        List.Graph.chartHeight=550,
        List.Graph.chartWidth=1200,
        List.Graph.yAxisFontSize=12,
        List.Graph.xAxisFontSize=12,
        List.Graph.legendFontSize=12,
        List.Graph.xAxisMajorGridEnabled=false,
        List.Graph.xAxisMinorGridEnabled=false,
        List.Graph.yAxisMinorGridEnabled=false
    ]

    [List.Graph: values={=GraphData}, chartTypes=Column]
    and produce a chart like this:

    If you then decided you preferred a different chart type, use the chartTypes parameter to produce, for example, a StackedColumn or Area chart:

    or use different chartTypes for each data column. 
    [List.Graph: values={=GraphData}, chartTypes=Column;Column;Line;Line]
    produces:

    Customizing Pie and Doughnut Graphs

    Pie and Doughnut charts use two columns - the first providing the slice name, the second column the slice size. Copy this simple data to Report Studio in whichever mode you prefer:

    Legacy Mode [: `One^5;Two^12;Three^24`, =>GraphData] or Normal Mode [=: `list(list('One',5),list('Two',12),list('Three',24))`,=>GraphData]

    and this macro: 
    [List.Graph: values={=GraphData}, chartTypes=Pie, palette=One^Red;Two^Blue;Three^#0f0]

    to give this initial graph:



    Now play around with pieStartAngleDegrees=270 and move the position of the data labels with pieLabelStyle=Outside to give:
    Have fun playing with Doughnut, Funnel, Pyramid, Radars and more types of chart.

    Making 3d Graphs

    All graphs can be displayed in 3D enabling you to change the perspective, incline, rotation, point depth (depth of the graph) and the point gap depth (how deep the points are):

    using the data from the table at the top of this page, the exact same line macro, but with 3D enabled, will produce:


    Note that the x axis labels for each interval no longer appear - because the x axis angle has changed meaning that the labels are now displayed closer together and the interval has been increased to make them fit without overlapping. This can be fixed by increasing the chartWidth or adding xAxisIntervalAutoMode=VariableCount.

    When enable3d is set to true, the default inclination is 50 degrees. Valid values for the incline are from -90 to +90 degrees, so for example, to change the incline to 20 degrees, add inclination3dDegrees=20.

    When enable3d is set to true, the default perspective is 0 percent. Valid values for perspective are from 0 to 100. To change the perspective to 10%, add perspective3dPercent=10.

    When enable3d is set to true the default rotation is 30 degrees. Valid values for rotation are from -90 to +90. To change to rotation to 50 degrees, add rotation3dDegrees=50:

    When enable3d is set to true the default point depth is 100. Valid values are from 0 to 1000%.
    To decrease the depth of the graph to 10% add pointDepth3dPercent=10. To increase the depth of the graph to 500% add pointDepth3dPercent=500

    When enable3d is set to true the default gap depth on the points is 100 with valid values from 0 to 1000. To decrease the depth of the point line to 20% add pointGapDepth3dPercent=20

    Change the depth of the graph to emphasis the narrowness of the point line by increasing the depth of the graph to 500% by adding both pointDepth3dPercent=500 and pointGapDepth3dPercent=20

    Two Examples to Copy

    If you'd like to dive right in, here are two graph macros you can copy into ReportStudio, run them and have a play around changing the options.

    A 2d graph
    [List.Graph: values=SubIssue^Count^Max;Voice-MAC^8^2;Voice Issue^4^6;MAC^4^3;Voice^5^7;Network^28^20;VMware^11000^3;Storage^13^3;Server-OS^14^3;Server-Application^4^3;Server-Hardware^3^3;Infra-Backup-Restore^6^3;Security^13^3, chartTypes=StackedArea, yAxisTitle=My Y Axis Title, yAxisFontSize=25, palette=Count^Green;Max^Red, yAxisMajorGridEnabled=false, xAxisLabelAngle=0, xAxisIntervalAutoMode=FixedCount, xAxisMajorGridIntervalType=Number, xAxisMajorGridInterval=2, xAxisMajorGridEnabled=true, xAxisMinorGridEnabled=false, xAxisIsAutoFit=True, xAxisInterval=1, labelFontSize=15, labelColor=Red, labelBackgroundColor=White, enable3d=false, inclination3dDegrees=20, perspective3dPercent=30, rotation3dDegrees=70, pointDepth3dPercent=100, legendBackgroundColor=Pink, legendBorderColor=black, legendFontSize=32, legendXPosition=0, legendYPosition=80, legendHeightPercent=20, legendWidthPercent=100, legendStyle=Table, chartAreaBackgroundColor=Yellow, chartBackgroundColor=LightBlue, chartAreaHeightPercent=70, chartAreaWidthPercent=100, useYAxisShortLabels=true, xAxisTitle=My X Axis Title, xAxisFontSize=25,innerPlotXPosition=30, innerPlotWidthPercent=50, innerPlotYPosition=20, innerPlotHeightPercent=50, fixedLines=Midpoint^5000^#00ff00, chartHeight=1500, chartWidth=2000, chartBorderLineWidth=10, ChartBorderLineDashStyle=DashDot, labels=CHART BACKGROUND^0^0^BottomLeft^Calibri^32^Bold^#7D3189;LEGEND^20^20^BottomLeft^Calibri^32^Bold^#7D3189]

    A 3d graph
    [List.Graph: values=SubIssue^Count^Max;Voice-MAC^8^2;Voice Issue^4^6;MAC^4^3;Voice^5^7;Network^28^20;VMware^11000^3;Storage^13^3;Server-OS^14^3;Server-Application^4^3;Server-Hardware^3^3;Infra-Backup-Restore^6^3;Security^13^3, chartTypes=StackedArea, yAxisTitle=My Y Axis Title, yAxisFontSize=25, palette=Count^Green;Max^Red, yAxisMajorGridEnabled=false, xAxisLabelAngle=0, xAxisIntervalAutoMode=FixedCount, xAxisMajorGridIntervalType=Number, xAxisMajorGridInterval=2, xAxisMajorGridEnabled=true, xAxisMinorGridEnabled=false, xAxisIsAutoFit=True, xAxisInterval=4, labelFontSize=15, labelColor=Red, labelBackgroundColor=White, enable3d=true, inclination3dDegrees=-20, perspective3dPercent=60, rotation3dDegrees=30, pointDepth3dPercent=100, legendBackgroundColor=Pink, legendBorderColor=blue, legendFontSize=32, legendXPosition=0, legendYPosition=100, legendHeightPercent=10, legendWidthPercent=80, legendStyle=Table, chartAreaBackgroundColor=Yellow, chartBackgroundColor=LightBlue, chartAreaHeightPercent=70, chartAreaWidthPercent=100, useYAxisShortLabels=true, xAxisTitle=My X Axis Title, xAxisFontSize=25,innerPlotXPosition=10, innerPlotWidthPercent=100, innerPlotYPosition=10, innerPlotHeightPercent=100, fixedLines=Midpoint^5000^#00ff00, chartHeight=1500, chartWidth=2000, chartBorderLineWidth=10, ChartBorderLineDashStyle=DashDot, labels=CHART BACKGROUND^0^0^BottomLeft^Calibri^32^Bold^#7D3189;LEGEND^20^20^BottomLeft^Calibri^32^Bold^#7D3189]

    LogicMonitor Graphs

    If you have defined a connection to your LogicMonitor portal, use the [LogicMonitor.Graph:]
    to display graphs, overview graphs and netflow graphs. 

    Unlike the other graph macros, [LogicMonitor.Graph:] retrieves graphs which already exist in LogicMonitor; if something you wish to display as a graph does not exist, you will need to create the graph in LogicMonitor itself first. 

    However, if the data you are interested in displaying can be retrieved as a list or a table using other LogicMonitor macros, then you can then display the content of the table or list graphically using [Table.Graph:] and [List.Graph:].

    Summary of Graph Parameters

    The sections of a ReportMagic graph and the parameters that control them are:

    Page 
    This area is controlled by parameters such as:
    • pageWidthPercent
    Legend Area
    This area is controlled by parameters such as:
    • legendWidthPercent
    • legendHeightPercent
    • legendXPosition
    • legendYPosition
    Chart Area 
    This area is controlled by parameters such as:
    • chartWidth
    • chartAreaXPosition
    • chartAreaYPosition
    • chartAreaHeightPercent
    • chartAreaWidthPercent
    •  chartAreaBackgroundColor – colors in the area of the chart covering where axes go up to and across to. (think of this as the inner plot background color)
    • chartBackgroundColor – colors in the area of the chart AND the axes and surrounding the chart. 
    Plot
    This area is controlled by parameters such as:
    • innerPlotWidthPercent
    An unhandled error has occurred. Reload 🗙