i have time series data 2000 2050. default plot x-labels 10 yr intervals, want change them 5 yr intervals. time series data in pandas dataframe. cannot find solution problem.
here data:
here code:
years = dates.yearlocator() yearsfmt = dates.dateformatter('%y') datemin = 2000 datemax = 2050 a,b = 2010, 2050 d = {} j in range(35,40): d[j] = pd.read_csv('averages_swb_run' + str(j) + '.csv', skiprows=[0]) print #convert data['year'] string datetime pd.to_datetime(pd.series(d[j]['year']), format='%y') #set data['year'] index , delete column d[j].index = d[j]['year'] del d[j]['year'] d[j] my_labels = ('base2000s','base forecast','climate forecast 1 (gfdl)','climate forecast 2 (mri)', 'landuse forecast 1', 'landuse forecast 2') my_colors = ('black', 'black', 'red', 'green', 'cyan', 'goldenrod') my_markers = ('o', 'o', '', '', '', '') ax = d[j]['et'].plot(title='northern high plains aquifer: evapotranspiration',marker=my_markers[j-34], markersize=2, color=my_colors[j-34], label=my_labels[j-34], figsize=(8, 6)) #ax1 = d[j]['et'].plot(title='northern high plains aquifer: evapotranspiration', label='et, run'+ str(j)) ax.set_ylabel('average annual evaptranspiration, in inches per year') ax.set_ylim(0,25) lines = ax.get_lines() #my_labels = ['base2000s','base','gfdl','mri', 'a2', 'b2'] ax.legend(lines, [line.get_label() line in lines], loc='best') #shading ax.axvspan(a,b, color = 'lightgray') txtbox = 'gray shading represents future forecasts' ax.text(0.5, 0.1, txtbox, ha='left', va='top',transform=ax.transaxes, fontsize=10) ax.xaxis.set_major_locator(years) ax.xaxis.set_major_formatter(yearsfmt) ax.set_xlim(datemin, datemax) figet = ax.get_figure() figet.savefig('et.jpg', dpi=300)
ax.set_xticks([2000, 2005, 2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050])
Comments
Post a Comment