matplotlib绘制日期序列图像

import matplotlib.pyplot as plt

import matplotlib.dates as mdates

import datetime



years=mdates.YearLocator()

months=mdates.MonthLocator()

yearsFmt=mdates.DateFormatter('%Y')

mag_min=np.zeros(len(mag_array))

fig,ax=plt.subplots(nrows=2,ncols=1,figsize=(6,8))

ax[0].vlines(date_array,mag_min,mag_array,lw=0.1) ### 绘制m-t图

ax[0].set_xlim(datetime.datetime(2009,1,1),datetime.datetime(2018,2,28))

ax[0].set_ylim(0,np.ceil(max(mag_array)))

ax[0].xaxis.set_major_locator(years)  ### x坐标主标记刻度

ax[0].xaxis.set_major_formatter(yearsFmt)  ### x坐标主标记格式

ax[0].xaxis.set_minor_locator(months) ### x坐标次刻度

ax[0].set_xlabel('time')

ax[0].set_ylabel('magnitude')

​

ax[1].bar(date_markers,date_freq,width=35) ### 绘制n-t图,用bar绘制柱状图,这里data_markers是datetime格式的月份,因此width要30天左右

ax[1].set_xlim(datetime.datetime(2009,1,1),datetime.datetime(2018,2,28))

#ax[1].set_ylim(0,np.ceil(max(date_freq)))

ax[1].set_xlabel('time')

ax[1].set_ylabel('monthly freq')

plt.show()

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注