2024-06-11 06:01:23 发布
网友
我注意到,通过计算数据框的列,可以在Altair中创建分组条形图。我的问题是,我的数据没有将每个组作为特定列的值
那么,是否可以在Altair中将列名用作组名(不计算列)或修改数据帧
这是一个宽格式数据的示例(请参见Long-form vs. Wide-form Data)。要在不修改数据帧的情况下将其转换为长格式数据,可以使用Fold Transform
完成此操作后,可以按照Grouped Bar Chart Example制作图表。它可能看起来像这样:
import pandas as pd import altair as alt df = pd.DataFrame({ "Job Stat": ['INV', "WRK", "CMP", "JRB"], "Revenue": [100, 200, 300, 400], "Total Income": [150, 250, 350, 450] }) ( alt.Chart(df) .transform_fold(["Revenue", "Total Income"], as_=["key", "value"]) .mark_bar() .encode( x="key:N", y="value:Q", color="key:N", column="Job Stat", ) )
为了使它更接近您的示例图表,您可以调整一些标签&;图例设置:
( alt.Chart(df) .transform_fold(["Revenue", "Total Income"], as_=["key", "value"]) .mark_bar() .encode( alt.X('key:N', axis=None), alt.Y("value:Q"), alt.Color("key:N", legend=alt.Legend(title=None, orient='bottom')), alt.Column("Job Stat", sort=['INV', "WRK", "CMP", "JRB"], header=alt.Header(labelOrient="bottom", title=None) ) ) )
这是一个宽格式数据的示例(请参见Long-form vs. Wide-form Data)。要在不修改数据帧的情况下将其转换为长格式数据,可以使用Fold Transform
完成此操作后,可以按照Grouped Bar Chart Example制作图表。它可能看起来像这样:
为了使它更接近您的示例图表,您可以调整一些标签&;图例设置:
相关问题 更多 >
编程相关推荐