请选择 进入手机版|继续访问电脑版
发新帖

为什么用 pyplot 打印出来的图片日期是 3 个月一个间隔?而...

[复制链接]
8095 4

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
import csvimport matplotlib.pyplot as pltfrom datetime import datetimefilename = 'death_valley_2014.csv'with open(filename) as f:    reader = csv.reader(f)    header_row = next(reader)    highs,dates,lows = [],[],[]    for item in reader:        try:            time = datetime.strptime(item[0],'%Y-%m-%d')            dates.append(time)            high = item[1]            low = item[3]        except ValueError:            print(time,"missing data")        else:            highs.append(high)            lows.append(low)fig = plt.figure(dpi=128,figsize = (18,10))plt.plot(dates,highs,c='red')plt.plot(dates,lows,c='blue')plt.fill_between(dates,highs,lows,facecolor="blue",alpha=0.1)plt.show() 0060lm7Tly1fptqcsnwo9j31kw0vmdro.jpg dates 这个 list 中是 1 月到 12 月,但是 x 轴只显示 1、3、5、7、9、11怎么让他每个都显示?

举报 使用道具

回复

精彩评论4

445141126  新手上路  发表于 2018-4-3 14:42:26 | 显示全部楼层
`plt.xticks(dates)` ?

举报 使用道具

回复
evin  新手上路  发表于 2018-4-3 14:45:20 | 显示全部楼层
@445141126 不行,下面的日期重叠在一起了 显示了 2 次

举报 使用道具

回复
noanylove  注册会员  发表于 2018-4-3 14:57:45 | 显示全部楼层
1 楼正解,你只需要调整一下参数就行

举报 使用道具

回复
noanylove  注册会员  发表于 2018-4-3 15:06:31 | 显示全部楼层
想一想反正都说到这儿了,就举个例子吧,

```
locs = np.arange('2018-01-01', '2019-01-01', dtype='datetime64[M]')
xticks(locs, locs, rotation=45)
```

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表