使用pandas&amp ;;构建一个排序的条形图背景虚化

时间:2016-01-19 09:24:01

标签: python python-3.x pandas bar-chart bokeh

作为一些基本数据分析的一部分,我尝试使用散景来显示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)

1 个答案:

答案 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)