如何使用altair绘制1:8属性的图表?这里是数据集的链接。我想为各种属性绘制一个交互式的mark_point()图,比如新鲜的、冻结的等等,考虑到区域和通道作为过滤器。X轴应该有属性,y轴有计数.
交互是基于区域和渠道来显示用户从分销商那里购买的价值。
我无法在一张图上绘制这8个属性。我试着把df转换成字典,然后用它来绘制图表。但没成功。
发布于 2022-11-08 21:16:38
我想这就是牛郎星的限制。你不能把所有的属性结合在一起。为此,您将需要matplotlib。希望这能有所帮助。!!
发布于 2022-11-09 04:56:43
transform_fold。您可以将其看作是一种新的具有两列的dataframe:key将包含列名,而value将具有相应的值。key作为X轴变量,使用value作为Y轴变量。reg_dropdown = alt.binding_select(options=list(df.Region.unique()))
reg_selection = alt.selection_single(fields=['Region'], bind=reg_dropdown, name='Select Region')
chn_dropdown = alt.binding_select(options=list(df.Channel.unique()))
chn_selection = alt.selection_single(fields=['Channel'], bind=chn_dropdown, name='Select Channel')
alt.Chart(df).transform_fold(
['Fresh', 'Milk', 'Grocery','Frozen', 'Detergents_Paper','Delicassen'],
).mark_point().encode(
x='key:N',
y='value:Q',
detail ='key:N',
).add_selection(
reg_selection, chn_selection
).transform_filter(
reg_selection & chn_selection
).properties(width=300)

https://stackoverflow.com/questions/74366293
复制相似问题