微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试制作类似 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 举报,一经查实,本站将立刻删除。