Truncate X-axis and Y-Axis#

Charts can be truncated on either axis by specifying an axis_min or axis_max as axis arguments. This will limit the plot area to the specified range of values.

  • The values should be the same data type as the series being plotted on it.

  • For example, the x-axis is a date type, python date objects should be used to limit the bounds

  • Notice that the data of the series is bound to the overall x-axis min and max

Caution

For y-axes, the axis_min and axis_max values are supported but with a caveat. If the series goes beyond these bounds, the bounds will automatically modified to include the series max or min. This is to ensure that series data does not escape the plot area.

/home/runner/work/visualization_toolkit/visualization_toolkit/visualization_toolkit/helpers/plotly/charts/core/chart.py:651: SettingWithCopyWarning:


A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy



import pandas as pd
from datetime import date
from dateutil.relativedelta import relativedelta

from visualization_toolkit.helpers.plotly import chart, axis, series


fig = chart(
    pdf,
    x_axis=axis(
        column_name="day",
        axis_type="date",
        label="Week Ending",
        tick_interval=relativedelta(days=7 * 6),
        axis_min=date(2024, 6, 30),
        axis_max=date(2024, 10, 20),
    ),
    chart_series=[
        series(
            column_name="abnb_gbv_share",
            label="ABNB GBV Share",
            color="dark-blue",
        ),
    ],
    y1_axis=axis(
        axis_type="percent",
        axis_min=0,
        axis_max=1,
        tick_format="0.0%",
    ),
)

fig

Total running time of the script: (0 minutes 0.021 seconds)

Gallery generated by Sphinx-Gallery