我正在绘制我的数据集(英格兰和威尔士地区的死亡率),X轴上的日期按字母顺序排序。4月6日,4月7日,…,2月6日,2月7日,…,9月13日,9月14日
我希望它们按时间顺序排列(就像在我的数据集中一样),有没有办法关闭强制排序?我使用matplot lib和seaborn进行此绘图
另外,如果有人知道一种不用重复代码13次就能写出这段代码的方法,我很乐意听到
我的代码如下
plt.figure(figsize=(48,12))
sns.lineplot(data=Regional,x='Date',y='England and Wales')
sns.lineplot(data=Regional,x='Date',y='England')
sns.lineplot(data=Regional,x='Date',y='North East')
sns.lineplot(data=Regional,x='Date',y='North West')
sns.lineplot(data=Regional,x='Date',y='Yorkshire and the Humber')
sns.lineplot(data=Regional,x='Date',y='East Midlands')
sns.lineplot(data=Regional,x='Date',y='West Midlands')
sns.lineplot(data=Regional,x='Date',y='East of England')
sns.lineplot(data=Regional,x='Date',y='Greater London')
sns.lineplot(data=Regional,x='Date',y='South East')
sns.lineplot(data=Regional,x='Date',y='South West')
sns.lineplot(data=Regional,x='Date',y='Wales')
sns.lineplot(data=Regional,x='Date',y='Non Residents')
plt.legend(['England and Wales','England','North East','North West','Yorkshire and the Humber','East Midlands','West Midlands','East of England','Greater London','South East','South West','Wales','Non Residents'])
除了熔化,您还可以创建一个
pd.MultiIndex
来根据需要使用matplotlib
自动plot
:{}方法(参见其他答案)稍微干净一些,但这只是一个{}解决方案
如前所述,使用^{} 和datetime格式可能会解决您的问题。您可以使用
pd.to_datetime
将日期转换为日期时间格式。假设字符串为'Jul-06'
格式,则可以指定格式为'%b-%y'
。否则,您可以检查此table以查找正确的格式说明符pd.melt
可以使用一行代码重新格式化数据帧以进行绘图。假设您的数据框只包含日期和地区的列,您可以使用以下代码将所有内容组合在一起:相关问题 更多 >
编程相关推荐