# Bar Chart

## Purpose

‌Bar charts are typically used to compare several categories of data. Bar charts are ideal for visualizing the distribution or proportion of data items when there are more than three categories‌.

## Variations

![](/files/M0rQHl9Uluo6D5cWcXfN)

‌There are several variations of bar charts which are supported through configuration of data and component properties.

* Basic Bar Chart
* Grouped Bar Chart
* Stacked Bar Chart
* 100% Stacked Bar Chart
* Reversed Bar Chart
* Bar Chart with markers
* Image background Bar Chart

## ​Working with Data

‌The data format for the bar chart is the same as for other XY charts. You can bind your chart component's **`items`** property to a Power Apps collection which includes either static data or dynamic data e.g. SharePoint. &#x20;

{% tabs %}
{% tab title="Static Collection Example" %}
In this example, a collection with static data called `colBarChart` is defined in the Power App. The **`items`** property of the bar chart component is then bound to this collection.

```markup
Table(
    {
        name: "Population",
        data: [
            {
                label: "South Korea",
                value: 400
            },
            {
                label: "Canada",
                value: 430
            },
            {
                label: "United Kingdom",
                value: 448
            },
            {
                label: "Netherlands",
                value: 500
            },
            {
                label: "Italy",
                value: 700
            },
            {
                label: "France",
                value: 1100
            },
            {
                label: "Japan",
                value: 1500
            },
            {
                label: "United States",
                value: 1456
            },
            {
                label: "Germany",
                value: 1700
            }
        ]
    }
)
```

The above code snippet will generate the following bar chart.

![](/files/-MkgTq52QbD4RSla761K)
{% endtab %}

{% tab title="Dynamic Collection Example" %}
The below example represents, Dataverse table's data in a dynamic manner. The dataverse table structure looks like below:

![](/files/-MlKF8e-prp7SCpLohRQ)

The below code snippet will generate dynamic collection to be consumed by component.

```

Table(
    {
        name: "Population",
        data: ForAll(
        //Replace Populations with the name of your datasource
            Populations,
            {
                Value: {
                    label: ThisRecord.Country,
                    value: ThisRecord.'Population (cr375_population)'
                }
            }
        )
    }
)
```

{% endtab %}

{% tab title="Property Configration" %}
All control properties can be left as default
{% endtab %}
{% endtabs %}

## Chart Properties

{% hint style="info" %}
For a full listing of all chart properties see the [**chart components property reference**](/component-properties/chart-components.md)&#x20;
{% endhint %}

The properties below are the main ones which change this components appearance and behaviors.

<table data-header-hidden><thead><tr><th>Control Property</th><th>Description</th><th width="189">Accepted Values</th><th width="150">Required</th></tr></thead><tbody><tr><td>Control Property</td><td>Description</td><td>Accepted Values</td><td>Required</td></tr><tr><td>ShowDistributed</td><td>Property to give each series a unique color<strong>.</strong></td><td>Boolean</td><td>X</td></tr><tr><td>StackedType</td><td>Property to change sack type of a bar</td><td><p>None</p><p>Stacked </p><p>Stacked100</p></td><td>X</td></tr><tr><td>DataLabelSymbol</td><td>Property to add any symbol (eg. currency or any append words) along with data labels</td><td>Text</td><td>X</td></tr><tr><td>Show100HeightBar</td><td>Property to set 100% height of the bar</td><td>Boolean</td><td>X</td></tr><tr><td>ShowReversed</td><td>Property to represent the Y-Axis from the right side</td><td>Boolean</td><td>X</td></tr><tr><td>FillType</td><td>Property to choose fill type for bars.</td><td><p>Gradient</p><p>Image</p><p>Solid</p></td><td>X</td></tr><tr><td>BackgroundImage</td><td>Property to provide background image URL for bars</td><td>URL</td><td>X</td></tr></tbody></table>

## Examples

### Grouped Bar Chart

![](/files/-MkgUAWE5KFl4tI-YQao)

{% tabs %}
{% tab title="Data Configuration" %}
More than one data series is defined in the data collection&#x20;

```
ClearCollect(
    ColBarChartGroup,
    {
        name: "Actual",
        data: [
            {
                label: "2001",
                value: 44
            },
            {
                label: "2002",
                value: 60
            },
            {
                label: "2003",
                value: 28
            },
            {
                label: "2004",
                value: 32
            },
            {
                label: "2005",
                value: 36
            },
            {
                label: "2006",
                value: 43
            },
            {
                label: "2007",
                value: 55
            },
            {
                label: "2008",
                value: 21
            }
        ]
    },
    {
        name: "Budget",
        data: [
            {
                label: "2001",
                value: 25
            },
            {
                label: "2002",
                value: 42
            },
            {
                label: "2003",
                value: 50
            },
            {
                label: "2004",
                value: 18
            },
            {
                label: "2005",
                value: 17
            },
            {
                label: "2006",
                value: 19
            },
            {
                label: "2007",
                value: 58
            },
            {
                label: "2008",
                value: 35
            }
        ]
    }
)
```

{% endtab %}

{% tab title="Property Configuration" %}
All control properties can be left as default
{% endtab %}
{% endtabs %}

### Stacked Bar Chart

![](/files/-MkgUF7-hb42jJjPv1aB)

{% tabs %}
{% tab title="Data Configuration" %}
More than one data series is defined in the data collection.

```
ClearCollect(
    ColStackedBarChart,
    {
        name: "Marine Sprite",
        data: [
            {
                label: 2001,
                value: 44
            },
            {
                label: 2002,
                value: 60
            },
            {
                label: 2003,
                value: 28
            },
            {
                label: 2004,
                value: 32
            },
            {
                label: 2005,
                value: 36
            },
            {
                label: 2006,
                value: 43
            },
            {
                label: 2007,
                value: 55
            }
        ]
    },
    {
        name: "Striking Calf",
        data: [
            {
                label: 2001,
                value: 53
            },
            {
                label: 2002,
                value: 52
            },
            {
                label: 2003,
                value: 50
            },
            {
                label: 2004,
                value: 18
            },
            {
                label: 2005,
                value: 15
            },
            {
                label: 2006,
                value: 35
            },
            {
                label: 2007,
                value: 40
            }
        ]
    },
    {
        name: "Tank Picture",
        data: [
            {
                label: 2001,
                value: 25
            },
            {
                label: 2002,
                value: 37
            },
            {
                label: 2003,
                value: 75
            },
            {
                label: 2004,
                value: 48
            },
            {
                label: 2005,
                value: 65
            },
            {
                label: 2006,
                value: 29
            },
            {
                label: 2007,
                value: 4
            }
        ]
    },
    {
        name: "Bucket Slope",
        data: [
            {
                label: 2001,
                value: 25
            },
            {
                label: 2002,
                value: 12
            },
            {
                label: 2003,
                value: 19
            },
            {
                label: 2004,
                value: 32
            },
            {
                label: 2005,
                value: 25
            },
            {
                label: 2006,
                value: 24
            },
            {
                label: 2007,
                value: 10
            }
        ]
    },
    {
        name: "Reborn Kid",
        data: [
            {
                label: 2001,
                value: 44
            },
            {
                label: 2002,
                value: 32
            },
            {
                label: 2003,
                value: 19
            },
            {
                label: 2004,
                value: 32
            },
            {
                label: 2005,
                value: 14
            },
            {
                label: 2006,
                value: 10
            },
            {
                label: 2007,
                value: 7
            }
        ]
    }
)
```

{% endtab %}

{% tab title="Property Configuration" %}

* [x] `StackedType` property is set to **Stacked**
* [x] All other control properties can be left as default
  {% endtab %}
  {% endtabs %}

### 100% Stacked Bar Chart

![](/files/-MkgULQcQHxRkvQePDQp)

{% tabs %}
{% tab title="Data Configuration" %}
More than one data series is defined in the data collection. Use the same collection used for [Stacked Bar ](/bar-chart-1.md#stacked-bar-chart)chart.
{% endtab %}

{% tab title="Property Configuration" %}

* [x] `StackedType` property is set to **Stacked100**
* [x] All other control properties can be left as default
  {% endtab %}
  {% endtabs %}

### Reversed Bar Chart

![](/files/-MkgUcAsYUIX8Q9532Aq)

{% tabs %}
{% tab title="Data Configuration" %}
More than one data series is defined in the data collection. Use the same collection used for [Stacked Bar ](/bar-chart-1.md#working-with-data)chart.
{% endtab %}

{% tab title="Property Configuration" %}

* [x] `ShowReversed` property is set to **true**
* [x] All other control properties can be left as default
  {% endtab %}
  {% endtabs %}

### Bar Chart with Markers

![](/files/-MkgUQDbzWf0d7qNwuyl)

{% tabs %}
{% tab title="Data Configuration" %}
One or More than one data series is defined in the data collection.

```csharp
Table(
    {
        name: "Actual",
        color: "#546E7A",
        expectedlabel: "Expected",
        data: [
            {
                label: "2011",
                value: 1200,
                color: "#00e396",
                expectedlabel: "Expected",
                expectedvalue: 1400,
                expectedcolor: "#FF0000"
            },
            {
                label: "2012",
                value: 4000,
                color: "#00e396",
                expectedlabel: "Expected",
                expectedvalue: 3500,
                expectedcolor: "#FF0000"
            },
            {
                label: "2013",
                value: 5400,
                color: "#00e396",
                expectedvalue: 5500,
                expectedlabel: "Expected",
                expectedcolor: "#FF0000"
            },
            {
                label: "2014",
                value: 8000,
                color: "#00e396",
                expectedvalue: 6000,
                expectedlabel: "Expected",
                expectedcolor: "#FF0000"
            },
            {
                label: "2015",
                value: 7000,
                color: "#00e396",
                expectedvalue: 8000,
                expectedlabel: "Expected",
                expectedcolor: "#FF0000"
            }
        ]
    }
)
```

{% endtab %}

{% tab title="Property Configuration" %}

* [x] All other control properties can be left as default
  {% endtab %}
  {% endtabs %}

### Bar Chart with Background

![](/files/-MkgUVi9FaBHToTqp500)

{% tabs %}
{% tab title="Data Configuration" %}
One or More than one data series is defined in the data collection. You can use same collection created in [Working with Data](/bar-chart-1.md#working-with-data)  section.
{% endtab %}

{% tab title="Property Configuration" %}

* [x] `FillType` property is set to **Image**
* [x] `BackgroundImage`property is set to **with Image URL. (Example:** "<https://cdn.pixabay.com/photo/2017/11/04/21/09/textile-2918844_1280.jpg>")
* [x] All other control properties can be left as default
  {% endtab %}
  {% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lowcodera.com/bar-chart-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
