Extended chart

Modified on Tue, 14 Jul at 9:47 AM

Extended chart

Dynamically generate complex charts

Complexity: Advanced - requires extensive knowledge of JSON and data structures.


Introduction

The Extended chart binding lets you insert dynamic chart data into charts that aren’t supported by the standard Chart binding. Use this binding when working with more complex or specialized chart types that require an extended data structure.

Supported chart types include:

  • Box and Whisker
  • Funnel
  • Sunburst
  • Treemap
  • Waterfall

This binding provides full flexibility for these advanced charts but requires a correct JSON data model that matches the expected chart structure.

Extended chart binding overview

The Extended chart binding inserts chart data into an existing chart in your recipe. Like the standard Chart binding, the content control must surround either the chart itself or the chart’s anchor point.

The provided chart data must follow a specific structure that defines categories, series, and nested values depending on the chart type. Because the structure varies by chart type, it’s important to ensure your data matches the requirements for your chosen chart style.

When adding a Extended chart binding in a recipe through the binding editor, the following dialog is shown:

Extended chart binding

Extended chart binding

Parameters

Specifies the JSON path to the object that contains the chart data. The JSON object must follow the required data model for the specific chart type being used.

A simplified example might look like this:

{
  "ChartDataPath": {
    "Categories": ["Group A", "Group B", "Group C"],
    "Series": [
      {
        "Name": "Results",
        "Values": [5, 12, 8]
      }
    ]
  }
}

For charts like Treemap or Sunburst, the structure can include nested objects to represent hierarchical relationships:

{
  "ChartDataPath": {
    "Root": {
      "Name": "Total",
      "Children": [
        {
          "Name": "Category 1",
          "Value": 40,
          "Children": [
            { "Name": "Subcategory 1.1", "Value": 25 },
            { "Name": "Subcategory 1.2", "Value": 15 }
          ]
        },
        {
          "Name": "Category 2",
          "Value": 60
        }
      ]
    }
  }
}

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article