对数 y 轴的 matplotlib 条形图
matplotlib bar plot for logarithmic y axis
我尝试为对数 y 轴绘制条形图。不幸的是,如果我将 y 轴设置为对数,则不再有条形图。我该怎么做才能实现这一目标?是否可以在 bar-function 中设置参考点(默认似乎为零)?
我的代码是:
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()
输出:
如何在右侧面板中制作横条?
尝试更新 maptlotlib。适用于 1.4.2 版。
如果你有1.3.1版本的matplotlib,下面解决了我的问题:
ax[1].bar(bins[:-1],1.*hist/N,np.diff(bins),log=True)
我尝试为对数 y 轴绘制条形图。不幸的是,如果我将 y 轴设置为对数,则不再有条形图。我该怎么做才能实现这一目标?是否可以在 bar-function 中设置参考点(默认似乎为零)?
我的代码是:
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()
输出:
如何在右侧面板中制作横条?
尝试更新 maptlotlib。适用于 1.4.2 版。
如果你有1.3.1版本的matplotlib,下面解决了我的问题:
ax[1].bar(bins[:-1],1.*hist/N,np.diff(bins),log=True)