由下面的test_01.csv文件生成图表。
name,date,A,B,C
one,2020/4/1,1,2,3
one,2020/4/2,5,3,1
one,2020/4/3,6,3,4
生成的图表是下面这个样子。
x轴的地方是“date”,但我想要把x轴上的刻度用日期“2020/4/1”等显示出来。
请问用什么办法可以实现吗?
代码:
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import datetime
fileName = 'test_01.csv'
df = pd.read_csv(fileName)
df.set_index(df['date']).plot.area()
plt.legend(loc='upper left', bbox_to_anchor=(1, 1))
plt.savefig(fileName.replace('.csv','.png'), bbox_inches='tight')
你好。谢谢你的热心回复。
参考了你的代码,成功地显示出来了。
修改后的代码:
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import datetime
fileName = 'test_01.csv'
df = pd.read_csv(fileName)
df.set_index(df['date']).plot.area()
plt.legend(loc='upper left', bbox_to_anchor=(1, 1))
date_list = df['date'].tolist()
date_index = range(len(date_list))
plt.xticks(date_index, date_list, rotation=0)
plt.show()
生成的图表:
另外我还想请问一下(会增加园豆),上图中的图例A,B,C的颜色和图中的颜色顺序是相反的。
具体为:
图例:A(蓝色),B(橙色),C(绿色)
图表:由上往下一次是绿色,橙色,蓝色
想把图例的图表的颜色顺序统一起来,有什么办法吗?
@芽衣: 点我博客加微信,吧csv 和你写的代码发一下,我直接改一下给你
@小小咸鱼YwY: 你好,我在国外没有用微信欸。以前在国内申请过QQ,我用QQ加你吧。
@芽衣: 也可以,不过思路也可以告诉你,其实很简单再画图前你先自己对数组进行排序就可以了
@小小咸鱼YwY: 我已经在QQ上加你咯。排序的方法我之前有想过,但是最后弄出来的结果是
虽然图例的A,B,C顺序变成C,B,A了,可是颜色的顺序还是没变。>_<