Kri*_*ris 6 python data-visualization altair
如何在Altair中创建分组条形图?我正在尝试以下操作,但它只是并排生成两个图形。
Chart(data).mark_bar().encode(
column='Gender',
x='Genre',
y='Rating',
color='Gender'
)
Run Code Online (Sandbox Code Playgroud)
组条形图示例
我从Altair的文档中显示了分组条形图的简化示例。您也可以在此处查看完整的文档。
基本上,必须指定x轴Gender
(F或M中的每个副区),y轴为Rating
与Genre
作为Column
。
from altair import *
import pandas as pd
# create dataframe
df = pd.DataFrame([['Action', 5, 'F'],
['Crime', 10, 'F'],
['Action', 3, 'M'],
['Crime', 9, 'M']],
columns=['Genre', 'Rating', 'Gender'])
chart = Chart(df).mark_bar().encode(
column=Column('Genre'),
x=X('Gender'),
y=Y('Rating'),
color=Color('Gender', scale=Scale(range=['#EA98D2', '#659CCA']))
).configure_facet_cell(
strokeWidth=0.0,
)
chart.display() # will show the plot
Run Code Online (Sandbox Code Playgroud)
条形图如下所示
添加轴参数
您只需要遵循Axis
文档中的参数,即可使图看起来更漂亮:
chart = Chart(df).mark_bar().encode(
column=Column('Genre',
axis=Axis(axisWidth=1.0, offset=-8.0, orient='bottom'),
scale=Scale(padding=4.0)),
x=X('Gender', axis=False),
y=Y('Rating', axis=Axis(grid=False)),
color=Color('Gender', scale=Scale(range=['#EA98D2', '#659CCA']))
).configure_facet_cell(
strokeWidth=0.0,
)
chart.display()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3209 次 |
最近记录: |