# Understand charts

Let's take a look at the most important [chart component](https://docs.appfarm.io/library/ui-components#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](https://docs.appfarm.io/library/ui-components/advanced-combined-chart).&#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 %}
