我有这个数据:
data = {'Cities': {'Des_Moines': 80.0, 'Lubbock': -300.0, 'Minneapolis': 85.7,
'Orange_County': 80.0, 'Salt_Lake_City': 81.8, 'San_Diego': 80.0,
'San_Francisco': -400.0, 'Troy': -400.0, 'Wilmington': -300.0}}
我用Seaborn
绘制了这个图,看起来很棒。
df_data = pd.DataFrame(data).sort_values('Cities', ascending=False)
sns.barplot(x='Cities', y=df_data.index, data=df_data, label='Cities', palette='Greens')
但是,我想使用Bokeh
嵌入这是一个Flask web应用程序。
我在Bokeh
中找不到horizontal barplot
。即使翻转x
和y
轴似乎也不起作用。这就是我所做的:
*将df_data
从9x1
转置到1x9
。但是,我还是没有得到任何好消息。
bar = Bar(df_data.transpose(), df_data.columns.tolist(), stacked=False, responsive=True)
script, div = components(bar)
注意,我仍然没有Horizontal
,我的category
轴被弄乱了。
有人能帮我进一步修改吗?
您可以使用rect或quad glyphs重新构造一个水平条形图。 上面的代码是暂定的,在y轴上没有城市标签(现在没有时间了…)。但我希望这能有帮助。
可惜没有。这是我所知道的最接近它的地方。目前只有竖条charts可用:
旁注:转置数据将如您所期望的那样工作。
使用矩形雕文很容易。请注意,使用分类值设置y_范围时,bokeh图中这些值的索引从1开始。所以计数器“j”从1开始。
相关问题 更多 >
编程相关推荐