我想做类似于http://matplotlib.org/examples/pylab_examples/hist2d_log_demo.html的事情,但我已经读过,除了在python交互模式下使用pylab进行代码之外,这是不好的做法,因此我想使用matplotlib.pyplot做到这一点。但是,我不知道如何使用pyplot使此代码正常工作。使用pylab,给出的示例是

from matplotlib.colors import LogNorm
from pylab import *

#normal distribution center at x=0 and y=5
x = randn(100000)
y = randn(100000)+5

hist2d(x, y, bins=40, norm=LogNorm())
colorbar()
show()

我已经尝试了很多
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
h1 = ax1.hist2d([1,2],[3,4])

从这里开始,我尝试了plt.colorbar(h1) plt.colorbar(ax1) plt.colorbar(fig) ax.colorbar()等的所有操作,但我什么都无法工作。

总的来说,即使阅读了http://matplotlib.org/faq/usage_faq.html,我实际上也不十分清楚pylab和pyplot之间的关系。例如pylab中的show()似乎已成为pyplot中的plt.show(),但是由于某种原因colorbar不会成为plt.colorbar()吗?

例如,

最佳答案

颜色条需要一个ScalarMappable对象作为其第一个参数。 plt.hist2d将其作为返回的元组的第四个元素返回。

h = hist2d(x, y, bins=40, norm=LogNorm())
colorbar(h[3])

完整的代码:
from matplotlib.colors import LogNorm
import matplotlib.pyplot as plt
import numpy as np

#normal distribution center at x=0 and y=5
x = np.random.randn(100000)
y = np.random.randn(100000)+5

h = plt.hist2d(x, y, bins=40, norm=LogNorm())
plt.colorbar(h[3])
show()

python - 如何在matplotlib.pyplot中将hist2d与colorbar一起使用?-LMLPHP

关于python - 如何在matplotlib.pyplot中将hist2d与colorbar一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24523670/

10-11 15:02