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 |
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) ``` |