import csv
import matplotlib.pyplot as plt
from datetime import datetime
filename = '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()
dates 这个 list 中是 1 月到 12 月,但是 x 轴只显示 1、3、5、7、9、11 怎么让他每个都显示?
1
445141126 2018-03-29 16:15:05 +08:00
`plt.xticks(dates)` ?
|
3
NoAnyLove 2018-04-01 12:28:25 +08:00
1 楼正解,你只需要调整一下参数就行
|
4
NoAnyLove 2018-04-01 12:33:16 +08:00
想一想反正都说到这儿了,就举个例子吧,
``` locs = np.arange('2018-01-01', '2019-01-01', dtype='datetime64[M]') xticks(locs, locs, rotation=45) ``` |