# Understand charts

Let's take a look at the most important [chart component](/library/ui-components.md#basic-charts) properties.

Each chart is bound to a single data source from which it extracts data. There is one exception: the [Advanced combined chart](/library/ui-components/advanced-combined-chart.md).&#x20;

Most charts are based on three properties: **Category Property**, **Value Property,** and **Dataset Property**. Some advanced charts use **X Value** and **Y Value** instead of the category and value properties.

**Category Property** corresponds to the x-axis, and **Value Property** to the y-axis of a chart. As indicated by the names, the category holds the categories or groups, whereas the value contains the values for each category or group.

For example, if you were to specify only **Category Property**, the count of entries for each category or group would be displayed. By setting a **Value Property**, the value of each **Category Property** group is displayed.

You can set an **Aggregation Function**, such as `Sum` or `Average`, in order to calculate and display the values in a meaningful way per category. If no function is selected, the count of entries for each category will be displayed.

The data is treated as a single dataset when using a **Category Property** and **Value Property**. A dataset is a collection of data that consists of two columns (category and value) and many rows. In a line chart, this would be represented as a single line. By selecting a **Dataset Property**, an extra dimension is added, and the dataset is segmented into multiple datasets. In a line chart, this would be represented as multiple lines.

To improve readability when a dataset is segmented into multiple datasets, you can select **Stack Datasets** to create some separation between the lines and make the data easier to interpret.

{% tabs %}
{% tab title="Chart average temperatures in different cities per month" %}
You have an object class called `Climate` with three properties `Month`, `Temperature` and `City`.&#x20;

**Single dataset**

Bind `Month` to **Category Property**, `Temperature` to **Value Property** and select `Average` for **Aggregation Function**. For each month, the average temperature of all cities will be calculated and displayed.&#x20;

**Multiple datasets**

Bind `Month` to **Category Property**, `Temperature` to **Value Property,** and `City` to **Dataset Property**. Select `Average` as **Aggregation Function**. For each city, the average temperature for each month is calculated and displayed.&#x20;
{% 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.appfarm.io/how-to/user-interface/understand-charts.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.
