如何在图右侧绘制直方图作为子图

问题描述

我正在尝试制作类似 this 的情节。 Here 是我的数据集,子图作为直方图。但我无法像上图那样制作。

import matplotlib.mlab as mlab
(fig,[[ax1,ax2],[ax3,ax4]]) = plt.subplots(2,2,sharex=False,sharey = False)

ax1.plot(delta828[:-3],'oy',label='%.3f$\pm$%.3f'%(np.mean(delta828[:-3]),np.std(delta828[:-3])))
ax1.axhline(np.mean(delta828),color='y',ls='--')
ax1.axhspan(np.mean(delta828[:-3])-np.std(delta828[:-3]),np.mean(delta828[:-3])+np.std(delta828[:-3]),alpha=0.15,ec='none')
ax1.set_ylabel(u'$\delta^{12}$C$^{18}$O$_2$ / \u2030')
ax1.set_xlabel('Measurement cycle')
ax1.legend(loc = 'upper right')


ax3.plot(delta628[:-3],'or',label='%.3f$\pm$%.3f'%(np.mean(delta628[:-3]),np.std(delta628[:-3])))
ax3.axhline(np.mean(delta628[:-3]),color='r',ls='--')
ax3.axhspan(np.mean(delta628[:-3])-np.std(delta628[:-3]),np.mean(delta628[:-3])+np.std(delta628[:-3]),ec='none')
ax3.set_ylabel(u'$\delta^{12}$C$^{16}$O$^{18}$O / \u2030')
ax3.legend(loc = 'upper right')
ax3.set_xlabel('Measurement cycle')

(mu,sigma) = norm.fit(delta828[:-3])
bins = 20
n,bins,patches = ax2.hist(delta828[:-3],20,density=True,facecolor='yellow')
# ax3.hist(delta828[:-3],bins = 20)
y = norm.pdf( bins,mu,sigma)
ax2.plot(bins,y,'r--',linewidth=2)

(mu,sigma) = norm.fit(delta628[:-3])
bins = 20
n,patches = ax4.hist(delta628[:-3],facecolor='red')
# ax3.hist(delta828[:-3],sigma)
ax4.plot(bins,'g--',linewidth=2)

plt.tight_layout()**

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)