首页 新闻 会员 周边

【python】请问画图如何设定x轴?

0
悬赏园豆:30 [已解决问题] 解决于 2020-08-19 16:41

由下面的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')
芽衣的主页 芽衣 | 菜鸟二级 | 园豆:384
提问于:2020-08-19 12:52
< >
分享
最佳答案
0
收获园豆:30
小小咸鱼YwY | 老鸟四级 |园豆:3210 | 2020-08-19 13:37

你好。谢谢你的热心回复。
参考了你的代码,成功地显示出来了。
修改后的代码:

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(绿色)
图表:由上往下一次是绿色,橙色,蓝色
想把图例的图表的颜色顺序统一起来,有什么办法吗?

芽衣 | 园豆:384 (菜鸟二级) | 2020-08-19 14:16

@芽衣: 点我博客加微信,吧csv 和你写的代码发一下,我直接改一下给你

小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-08-19 14:20

@小小咸鱼YwY: 你好,我在国外没有用微信欸。以前在国内申请过QQ,我用QQ加你吧。

芽衣 | 园豆:384 (菜鸟二级) | 2020-08-19 14:49

@芽衣: 也可以,不过思路也可以告诉你,其实很简单再画图前你先自己对数组进行排序就可以了

小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-08-19 14:53

@小小咸鱼YwY: 我已经在QQ上加你咯。排序的方法我之前有想过,但是最后弄出来的结果是
虽然图例的A,B,C顺序变成C,B,A了,可是颜色的顺序还是没变。>_<

芽衣 | 园豆:384 (菜鸟二级) | 2020-08-19 15:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册