作为一些基本数据分析的一部分,我尝试使用散景来显示HTML格式的一些图表。使用以下代码,我使用具有26列和594行的pandas数据框创建了一个非常简单的条形图。 我的问题是:我如何根据废品价值对其进行排序? 现在,图表按“MATERIAL GROUP”列的字母顺序排序。 我几乎尝试了所有东西,但我无法弄明白......
import pandas as pd
from bokeh.charts import Bar, output_file, show
from bokeh.charts.attributes import cat
chart1 = Bar(df,values='SCRAP',
label=cat(columns='MATERIAL GROUP',sort=True),
plot_width=1250,agg='sum')
output_file('DMSY_November_2015.html')
show(chart1)
答案 0 :(得分:1)
通过创建排序的DataFrame并使用它来绘制条形图来找到解决方案:
import pandas as pd
from bokeh.charts import Bar, output_file, show
from bokeh.charts.attributes import cat
#Creating the DataFrame for chart1: Filtering/Grouping/Sorting
df_chart1 = df_rolling[df_rolling.SCRAP>0]
df_chart1 = df_chart1.groupby(by='MATERIAL GROUP',as_index=False) ['SCRAP'].sum()
df_chart1 = df_chart1.sort_values(by='SCRAP',ascending=False)
#Plotting chart1
chart1 = Bar(df_chart1,values='SCRAP',
label=cat(columns='MATERIAL GROUP',sort=False),
plot_width=1250)
output_file('DMSY_November_2015.html')
show(chart1)