对数y轴的matplotlib条形图

时间:2015-05-27 09:27:08

标签: python matplotlib plot axes

我尝试为对数y轴制作条形图。不幸的是,如果我将y轴设置为对数,则不再有条形。我能做些什么来实现这个目标?是否有可能在条形函数中设置参考点(默认似乎为零)?

我的代码是:

import matplotlib.pyplot as plt
import numpy as np


N=1000
sample=np.random.random_integers(1,10,N)
hist,bins=np.histogram(sample)


fig,ax=plt.subplots(figsize=(12,5),nrows=1,ncols=2,sharex=True,sharey=False)
ax[1].set_yscale("log")
ax[0].bar(bins[:-1],1.*hist/N,np.diff(bins))
ax[1].bar(bins[:-1],1.*hist/N,np.diff(bins))

plt.show()

输出: linear and log y axis

如何在右侧面板中制作条形图?

2 个答案:

答案 0 :(得分:1)

尝试更新maptlotlib。 1.4.2版本适用于我。

enter image description here

答案 1 :(得分:1)

如果你有matplotlib的1.3.1版本,以下解决了我的问题:

ax[1].bar(bins[:-1],1.*hist/N,np.diff(bins),log=True)