【问题标题】:How do I display Grouped Bar Chartfor multiple fields? (Altair)如何显示多个字段的分组条形图? (牵牛星)
【发布时间】:2021-04-28 19:44:56
【问题描述】:

我有以下数据集

我想在某种图表中显示这一点:参数应该位于 X 轴上:已确认、死亡、康复。必须为每个 region_name 定义它们。 Y 轴应该是这些值的总和。看了官方文档中的melt()方法,但是不太明白怎么用。

我需要得到这样的东西,只有以下形式。

【问题讨论】:

    标签: python plot altair


    【解决方案1】:

    你有宽格式数据;您需要将其转换为 长格式 数据。您可以使用 melt() 或类似方法在 pandas 中执行此操作,也可以使用 Altair 的 transform_fold。您可以在https://altair-viz.github.io/user_guide/data.html#long-form-vs-wide-form-data中阅读更多相关信息

    对于您的数据,它可能看起来像这样:

    import pandas as pd
    import altair as alt
    
    data = pd.read_csv('data_from_screenshot.csv')
    
    alt.Chart(data).transform_fold(
      ["confirmed", "deaths", "recovered"],
      as_=["field", "value"]
    ).mark_bar().encode(
      x="field:N",
      y="sum(value):Q",
      column="region_name:N"
    )
    

    【讨论】:

      猜你喜欢
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多