我想改变我的直方图的开始和结束月份,这样我就可以看到下面的条形图:11月,12月,1月,2月和3月。
这个想法是开始历史。从第7个月开始到第6个月结束(例如)。
我的代码是这样的:
d = {'days': [7 , 33 , 50 , 51 , 53 , 71 , 84 , 85 ,324 ,343 ,344 ,345 ,357],
'month': [ 1, 2, 2, 2, 2, 3, 3, 3,11,12,12,12,12]}
df_example = pd.DataFrame(data=d)
然后我使用的函数:
def histogram_ssw(variable1, variable2, title):
fig, ax = plt.subplots(1,1,figsize=(20,7))
fig.suptitle('Histogram' + title,fontsize=22,weight='bold')
mean = variable2.mean()
std = variable2.std()
count1,bins1,ignored1 = ax.hist(variable1[~np.isnan(variable1)],bins=25,density='True')#,label='empirica')
ax.set_title('whatever');
ax.set_xlabel('days')
ax.set_ylabel('frec')
ylim0 = ax.get_ylim()
x1 = np.linspace(bins1.min(),bins1.max(),100)
N = nor(np.nanmean(variable2),variable2.std(),x1)
x_formatter = dates.DateFormatter('%m-%d')
#ax.xaxis.set_major_formatter(x_formatter)
ax.xaxis.set_major_locator(dates.DayLocator(interval=1))
plt.gcf().autofmt_xdate(rotation=60)
#ax.set_xticklabels(df_niño3EP["M-D"].tolist(),rotation = 60)
#ax.tick_params(axis="both", direction="in", pad=15)
#ax.get_xticks(df_niño3EP["M-D"])
#mmax = np.max(ylim0[1])
#ax.set_ylim([0,mmax])
ax.grid()
plt.show()
我们为我的df执行函数:
histogram_ex(df_example['months'], df_ejemplo['days'], 'pff')
返回:
直方图
你可以看到它们是分开的我想让它居中…
try this
def histogram_ssw(variable1, variable2, title):
fig, ax = plt.subplots(1,1,figsize=(20,7))
fig.suptitle('Histogram' + title,fontsize=22,weight='bold')
mean = variable2.mean()
std = variable2.std()
# CHANGE WAS MADE HERE
count1,bins1,ignored1 = ax.hist(variable1[~np.isnan(variable1)],bins=25,density='True',bottom='scalar'),label='empirica')
ax.set_title('whatever');
ax.set_xlabel('days')
ax.set_ylabel('frec')
ylim0 = ax.get_ylim()
x1 = np.linspace(bins1.min(),bins1.max(),100)
N = nor(np.nanmean(variable2),variable2.std(),x1)
x_formatter = dates.DateFormatter('%m-%d')
#ax.xaxis.set_major_formatter(x_formatter)
ax.xaxis.set_major_locator(dates.DayLocator(interval=1))
plt.gcf().autofmt_xdate(rotation=60)
#ax.set_xticklabels(df_niño3EP["M-D"].tolist(),rotation = 60)
#ax.tick_params(axis="both", direction="in", pad=15)
#ax.get_xticks(df_niño3EP["M-D"])
#mmax = np.max(ylim0[1])
#ax.set_ylim([0,mmax])
ax.grid()
plt.show()
我添加了一个额外的属性bottom
到你的ax.hist()
构造器。
我还没有尝试过,所以LMK,但更多的可以在这里找到(文档)