> For the complete documentation index, see [llms.txt](https://docs.shimoku.com/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shimoku.com/dev/elements/composite-template-charts/infographics-text-bubble.md).

# Infographics text bubble

This template joins a text bubble with a user selected chart, there are 4 options for the position of the text bubble (top, down, left, right), and it can be customized with background colors and images. It also provides the option to set an image on top of the bubble for the horizontal configuration.

### The Method To Use

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

It must contain the following input variables:

```python
title: str
text: str
order: int
# The parameters that the chart function will take when executed
chart_parameters: Dict
```

And accepts the following input variables as optional:

```python
rows_size: int = 3
cols_size: int = 12
# The funcion that will be executed passing the previous parameters,
# by default it will use a free_echarts bar chart
chart_function: Optional[Callable] = None
# the background image for the bubble
background_url: Optional[str] = None
# If there is no image this color will be used as the background
background_color: str = 'var(--background-default)'
# Where the bubble will be located ['top', 'bottom', 'left', 'right']
bubble_location: str = 'top'
# The image located avobe the bubble in the horizontal configs,
# if the string 'default' is passed it will take a default image
image_url: Optional[str] = None
# Size of the previous image
image_size: int = 100
```

## Examples

All the examples use these values for the parameters:

```python
menu_path = 'Infographics'title = 'Lorem ipsum'
text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et " \
       "dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex" \
       " ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu" \
       " fugiat nulla pariatur. "
data = [
    {'date': dt.date(2021, 1, 1), 'x': 5, 'y': 5},
    {'date': dt.date(2021, 1, 2), 'x': 6, 'y': 5},
    {'date': dt.date(2021, 1, 3), 'x': 4, 'y': 5},
    {'date': dt.date(2021, 1, 4), 'x': 7, 'y': 5},
    {'date': dt.date(2021, 1, 5), 'x': 3, 'y': 5},
]
stacked_data = [
    {'Weekday': 'Mon', 'Email': 120, 'Union Ads': 132, 'Video Ads': 101, 'Search Engine': 134},
    {'Weekday': 'Tue', 'Email': 220, 'Union Ads': 182, 'Video Ads': 191, 'Search Engine': 234},
    {'Weekday': 'Wed', 'Email': 150, 'Union Ads': 232, 'Video Ads': 201, 'Search Engine': 154},
    {'Weekday': 'Thu', 'Email': 820, 'Union Ads': 932, 'Video Ads': 901, 'Search Engine': 934},
    {'Weekday': 'Fri', 'Email': 120, 'Union Ads': 132, 'Video Ads': 101, 'Search Engine': 134},
    {'Weekday': 'Sat', 'Email': 220, 'Union Ads': 182, 'Video Ads': 191, 'Search Engine': 234},
    {'Weekday': 'Sun', 'Email': 150, 'Union Ads': 232, 'Video Ads': 201, 'Search Engine': 154},
]
```

The first example uses a gauge chart and a stacked bar chart to show how the top and bottom options look like:&#x20;

```python
s.plt.infographics_text_bubble(
    order=0, cols_size=6,
    title=title, text=text,
    chart_function=s.plt.shimoku_gauge,
    chart_parameters=dict(
        value=random.randint(0, 100), name='Gauge', rows_size=18,
    ),
)
s.plt.infographics_text_bubble(
    order=2, cols_size=6, rows_size=4,
    title=title, text=text, bubble_location='bottom',
    chart_function=s.plt.stacked_bar,
    chart_parameters=dict(
        data=stacked_data,
        x="Weekday",
        x_axis_name='weekday',
        y_axis_name='visits',
        variant='clean',
    ),
    background_color='var(--color-stripe-light)',
)
```

<figure><img src="/files/HrqIk5LIBSGSqZ2fI2v2" alt=""><figcaption></figcaption></figure>

The second example shows the default bar chart with the horizontal bubble configuration and an a background image:

```python
s.plt.infographics_text_bubble(
    order=0, title=title,
    text=text, bubble_location='right',
    rows_size=3, cols_size=8,
    background_url='https://images.unsplash.com/photo-1569982175971-d92b01cf8694?ixlib=rb-4.0.3&ixid='
                   'MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=870&q=80',
    chart_parameters=dict(
        data=data,
        x='date',
    )
)
```

<figure><img src="/files/Gs9qfw9rDm43F6By7sdJ" alt=""><figcaption></figcaption></figure>

The third example shows how to use the images for the bubble:

```python
s.plt.infographics_text_bubble(
    order=0, cols_size=6,
    title=title, text=text[:-52], bubble_location='left',
    image_url='default', image_size=60,
    background_color='var(--color-primary-light)',
    chart_parameters=dict(
        data=data,
        rows_size=34,
        cols_size=10,
        x='date', y='x',
        variant='clean shadow',
        padding='1,0,0,0'
    )
)
s.plt.infographics_text_bubble(
    order=2, cols_size=6, rows_size=4,
    title=title, text=text, bubble_location='right',
    image_url='default',
    chart_function=s.plt.table,
    chart_parameters=dict(
        data=(data*2)[:9],
        cols_size=10,
    )
)
```

<figure><img src="/files/q4Ktj1ZKHDVq3u4ZnvlS" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.shimoku.com/dev/elements/composite-template-charts/infographics-text-bubble.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
