在python-ggplot中对方面进行排序
我有一个数据框,在python-ggplot中对方面进行排序,python,ggplot2,python-ggplot,Python,Ggplot2,Python Ggplot,我有一个数据框,df其中打印df.head()给出: journey_time time_stamp day_name day_no week_no 240 289 2017-03-06 00:03:58 Monday 0 10 241 288 2017-03-06 00:08:58 Monday 1 10 242 291 2017-03
df
其中打印df.head()
给出:
journey_time time_stamp day_name day_no week_no
240 289 2017-03-06 00:03:58 Monday 0 10
241 288 2017-03-06 00:08:58 Monday 1 10
242 291 2017-03-06 00:13:58 Monday 1 10
243 289 2017-03-06 00:18:59 Monday 1 10
244 295 2017-03-06 00:23:58 Monday 2 10
243 289 2017-03-06 00:18:59 Monday 2 10
244 295 2017-03-06 00:23:58 Monday 2 10
我基本上每天都有一系列的旅程时间值,范围是天\u否
p = ggplot(aes(x='time_stamp',y='journey_time'),data=df) + scale_x_date(labels = date_format("%H:%M"), date_minor_breaks = "1 hour") + geom_line() + labs(x="Time", y="journey_time (seconds)") + facet_grid('day_name',scales='free_x')
这是正确的,因为我得到了7个水平图。然而,这些日子并不有序(星期五、星期一、星期六等)。我如何按日期\u no
记录订购
默认情况下,ggplot
显示为按字母顺序放置分类变量,但您可以使用Pandas中的数据类型指定自己的顺序:
df.day\u name=pd.category(df.day\u name,
有序=正确,
类别=[“星期一”、“星期二”、“星期三”,
“星期四”、“星期五”、“星期六”,
“星期日”])
这在我的测试环境(Python3.4、Pandas 0.18.0、ggplot 0.11.5)中可以正常工作。谢谢@Schmuddi!我对这个解决方案有问题。使用geom_histogram()和facet_grid()进行测试,结果显示:“python3.7/site packages/ggplot/geoms/geom_histogram.py”,第48行,在plot params['bins']=np.arange(np.min(x),np.max(x)+self.params['binwidth',self binwidth'])ValueError:arange:无法计算长度“我想这是特定于geo_histogram的。。。