# Stacked Bar

A **stacked bar chart** shows the composition of each category in a stacked bar, with each segment representing a sub-category.

## The Method To Use <a href="#the-method-to-use" id="the-method-to-use"></a>

The method is `s.plt.stacked_bar()`

It must contain the following input variables:

```python
x: str
order: int
data: Union[str, DataFrame, List[Dict]]
```

And accepts the following input variables as optional:

```python
y: Optional[List[str]]
x_axis_name: Optional[str]
y_axis_name: Optional[str]
title: Optional[str]
rows_size: Optional[int]
cols_size: Optional[int]
padding: Optional[List[int]]
show_values: Optional[List[str]]
option_modifications: Optional[Dict]
```

## Examples <a href="#examples" id="examples"></a>

An example of how the function expects the data to be represented is the following:

```csv
Segment, Price, Client category, Age, Geo, Acquisitive power, Family size, Policie tenure, Labour contract
Hogar, 21, 5, 12, 17, 3, 14, 3, 6
Móvil, 23, 16, 16, 14, 4, 2, 19, 12
Dental, 26, 21, 14, 17, 1, 2, 6, 3
Viajes, 24, 22, 15, 17, 8, 5, 15, 4
Accidentes, 22, 12, 18, 17, 5, 6, 1, 5
Seguro de vida, 22, 21, 19, 12, 7, 3, 2, 9
Jurídico, 25, 21, 13, 12, 10, 6, 13, 6
Dental Plus, 24, 4, 17, 17, 7, 9, 2, 3
Jubilación, 20, 4, 19, 17, 2, 2, 10, 8
Salud, 27, 24, 17, 17, 12, 1, 4, 1
```

Assuming that the previously shown data is stored in the file `'file.csv'`.

The function has the option to hide or show each level by using the parameter `show_values` where the columns of the dataset that will show it's values have to be specified, by default it will not show any values.

When executing the following code:

```python
s.plt.stacked_bar(
    data=pd.read_csv('file.csv'), x="Segment",
    x_axis_name='Distribution and weight of the Drivers',
    order=0, show_values=['Price'],
)
```

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2Fjs42EQIgrBNcRekqnw4j%2Fimatge.png?alt=media&#x26;token=a2af1cc8-8b2a-406b-aab9-657196506644" alt=""><figcaption><p>Stacked bar chart with percentages calculated and hidden labels</p></figcaption></figure>

## Variants

By setting the parameter `variant` to the following values the appearance of the chart can be changed:

{% tabs %}
{% tab title="Clean" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2Fw9T8w5Y9qfisTBl0ftaj%2Fimatge.png?alt=media&#x26;token=0b835c58-6231-4b42-84a8-2d3c5dd452fb" alt=""><figcaption><p>variant='clean'</p></figcaption></figure>
{% endtab %}

{% tab title="Minimal" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2F15hGqjBjhqDco87gJ6qX%2Fimatge.png?alt=media&#x26;token=7317bbfe-0a05-451d-ac1d-63eb10715f7c" alt=""><figcaption><p>variant='minimal'</p></figcaption></figure>
{% endtab %}

{% tab title="Thin" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FkDMUDQGTHCxRQT4hUtYH%2Fimatge.png?alt=media&#x26;token=33a3474e-5fd0-4cbf-8db8-dc2256fc7bdd" alt=""><figcaption><p>variant="thin"</p></figcaption></figure>
{% endtab %}

{% tab title="Clean Thin" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FFZxXkd2DTtmIeANmXanw%2Fimatge.png?alt=media&#x26;token=2cc50c74-0d9c-49f4-a28c-dfdabd353d16" alt=""><figcaption><p>variant="clean thin"</p></figcaption></figure>
{% endtab %}

{% tab title="Minimal Thin" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FzqZvCb0UVLpZibbITdjm%2Fimatge.png?alt=media&#x26;token=e8592491-a305-4a76-8f9e-9e0ad4c9f654" alt=""><figcaption><p>variant="minimal thin"</p></figcaption></figure>
{% endtab %}

{% tab title="Shadow" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FWJa5Djbndr8CddRsHjr7%2Fimatge.png?alt=media&#x26;token=436a6b41-dd30-4965-be59-c804f0921ff9" alt=""><figcaption><p>variant="shadow"</p></figcaption></figure>
{% endtab %}

{% tab title="Clean Shadow" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FjtQVVvb3OX9KatNO2ptK%2Fimatge.png?alt=media&#x26;token=15178e02-a7b2-4177-9f6b-d23c6b9e835f" alt=""><figcaption><p>variant="clean shadow"</p></figcaption></figure>
{% endtab %}

{% tab title="Minimal Shadow" %}

<figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FN3ZKXsoHqZgBQLGeObBC%2Fimatge.png?alt=media&#x26;token=017072ba-62ec-4d69-af19-d0d61887ac94" alt=""><figcaption><p>variant="minimal shadow"</p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Interesting Usages

* Showing proportions: Stacked bar charts are ideal for showing how a category is divided into subcategories. For example, you could use a stacked bar chart to show how a company's revenue by month is divided into different product categories.

  <figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FXvvcITKwcd6UXzdz2Bsh%2Fimatge.png?alt=media&#x26;token=1e72c963-681f-4022-bdf7-862d634a2d65" alt=""><figcaption><p>Evolution of revenue by month, total and in percentages</p></figcaption></figure>

* Comparing data: Stacked bar charts can also be used to compare data between different categories. For example, you could use a stacked bar chart to compare the revenue generated by different countries.

  <figure><img src="https://3782181538-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlHTfmIZY46Z1EDfyGMz%2Fuploads%2FtH3H2rN07lBlU3PSKGHr%2Fimatge.png?alt=media&#x26;token=229ca44f-408b-4263-928c-3a37afa19de4" alt=""><figcaption><p>Revenue by country total and percentages</p></figcaption></figure>


---

# 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.shimoku.com/dev/elements/charts/bar-charts/stacked-bar.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.
