在这种情况下,Altair 会很有帮助。这是以下代码生成的图。

进口
import pandas as pd
import numpy as np
from altair import *
生成数据集
np.random.seed(0)
df = pd.DataFrame({
"x": np.random.choice(range(0, 5), 250),
"w": np.random.uniform(50, 400, 250),
"cat": np.random.choice(["A", "B", "C", "D", "E"], 250)
})
绘图
Chart(df).mark_bar().encode(x=X('cat', axis=False),
y=Y('median(w)', axis=Axis(grid=False)),
color='cat',
column=Column('x', axis=Axis(axisWidth=1.0, offset=-8.0, orient='bottom'),scale=Scale(padding=30.0)),
).configure_facet_cell( strokeWidth=0.0).configure_cell(width=200, height=200)
altair 代码中的关键内容是:
- X 值是类别(df 中的“cat”)
- 颜色按类别分类
- Y 值是变量的中位数
- 不同的列代表不同的年份