Skip to content

Stream 1

Info - How to setup Chart
import pandas as pd
from ipyvizzu import Chart, Data, Config, Style

df = pd.read_csv(
    "https://ipyvizzu.vizzuhq.com/0.17/assets/data/music_industry_history_1.csv",
    dtype={"Year": str, "Timeseries": str},
)
data = Data()
data.add_df(df)

chart = Chart()
chart.animate(data)
  • filter the Diemsion data series on the Y-axis step-by-step, combined with their dominant time period on Year data series
chart.animate(
    Config(
        {
            "channels": {
                "x": ["Year"],
                "y": ["Revenue", "Format"],
                "color": "Format",
            },
            "geometry": "area",
            "align": "center",
        }
    ),
    Style(
        {"plot": {"yAxis": {"label": {"numberScale": "K, M, B, T"}}}}
    ),
)

chart.animate(
    data.filter(
        """
  (record) =>
  (record.Format === 'Tapes' || record.Format === 'Vinyl') && record.Year <= 1989
  """
    ),
    Config({}),
)

method = """
            const year = parseFloat(event.detail.text)
            if (!event.detail.text.includes('$') && !isNaN(year) && year % 5 !== 0)
                event.preventDefault()
        """
handler = chart.on("plot-axis-label-draw", method)

chart.animate(
    data.filter(
        """
  (record) =>
  (record.Format === 'Tapes' ||
  record.Format === 'Cassette' ||
  record.Format === 'Vinyl') &&
  record.Year <= 1999
  """
    ),
    Config({}),
)

chart.animate(
    data.filter(
        """
  (record) =>
  record.Format === 'DVD' ||
  record.Format === 'Other' ||
  record.Format === 'Tapes' ||
  record.Format === 'Cassette' ||
  record.Format === 'Vinyl' ||
  record.Format === 'CD'
  """
    ),
    Config({}),
)

chart.animate(
    data.filter(
        """
  (record) =>
  record.Format === 'DVD' ||
  record.Format === 'Other' ||
  record.Format === 'Tapes' ||
  record.Format === 'Download' ||
  record.Format === 'Cassette' ||
  record.Format === 'Vinyl' ||
  record.Format === 'CD'
  """
    ),
    Config({}),
)

chart.animate(
    data.filter(
        """
  (record) =>
  record.Format === 'DVD' ||
  record.Format === 'Other' ||
  record.Format === 'Tapes' ||
  record.Format === 'Download' ||
  record.Format === 'Streaming' ||
  record.Format === 'Cassette' ||
  record.Format === 'Vinyl' ||
  record.Format === 'CD'
  """
    ),
    Config({}),
)

chart.feature("tooltip", True)