按两个分类变量嵌套分组的 Altair 箱线图
Altair boxplot with nested grouping by two categorical variables
如何在 altair 的 seaborn 中重现下图?
import seaborn as sns
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", hue="smoker",
data=tips, palette="Set3")
这是我的尝试:
import altair as alt
chart = (
alt.Chart(tips)
.mark_boxplot()
.encode(x=alt.X("day"), y=alt.Y("total_bill"), color="smoker")
.interactive()
.properties(width=300))
chart.show()
这给了我这个不需要的图表:
将 smoker 放在 x 轴上,并使用当天的列分面并稍微调整一下填充和间距:
chart = alt.Chart(df).mark_boxplot(ticks=True).encode(
x=alt.X("smoker:O", title=None, axis=alt.Axis(labels=False, ticks=False), scale=alt.Scale(padding=1)),
y=alt.Y("total_bill:Q"),
color="smoker:N",
column=alt.Column('day:N', sort=['Thur','Fri','Sat','Sun'], header=alt.Header(orient='bottom'))
).properties(
width=100
).configure_facet(
spacing=0
).configure_view(
stroke=None
)
chart
如何在 altair 的 seaborn 中重现下图?
import seaborn as sns
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", hue="smoker",
data=tips, palette="Set3")
这是我的尝试:
import altair as alt
chart = (
alt.Chart(tips)
.mark_boxplot()
.encode(x=alt.X("day"), y=alt.Y("total_bill"), color="smoker")
.interactive()
.properties(width=300))
chart.show()
这给了我这个不需要的图表:
将 smoker 放在 x 轴上,并使用当天的列分面并稍微调整一下填充和间距:
chart = alt.Chart(df).mark_boxplot(ticks=True).encode(
x=alt.X("smoker:O", title=None, axis=alt.Axis(labels=False, ticks=False), scale=alt.Scale(padding=1)),
y=alt.Y("total_bill:Q"),
color="smoker:N",
column=alt.Column('day:N', sort=['Thur','Fri','Sat','Sun'], header=alt.Header(orient='bottom'))
).properties(
width=100
).configure_facet(
spacing=0
).configure_view(
stroke=None
)
chart