Matplotlib二维直方图和设置限制。功能还是bug?

Matplotlib二维直方图和设置限制。功能还是bug?,matplotlib,histogram,Matplotlib,Histogram,我对Matplotlib有一个特殊的问题。我想知道它是否按照它应该的方式运行,我应该调整我的思维,或者它是否是一个bug,我应该创建一个问题 在开始之前,我正在Jupyter笔记本电脑Python2.7中使用matplotlib版本1.5.3 特性:当我绘制二维直方图(ax.hist2d),然后设置轴限制(ax.setxlim)时,图形大小取决于限制 以下是一个工作示例: 首先,设置: import numpy as np import matplotlib.pyplot as plt %ma

我对Matplotlib有一个特殊的问题。我想知道它是否按照它应该的方式运行,我应该调整我的思维,或者它是否是一个bug,我应该创建一个问题

在开始之前,我正在Jupyter笔记本电脑Python2.7中使用matplotlib版本1.5.3

特性:当我绘制二维直方图(
ax.hist2d
),然后设置轴限制(
ax.setxlim
)时,图形大小取决于限制

以下是一个工作示例:

首先,设置:

import numpy as np
import matplotlib.pyplot as  plt
%matplotlib inline

#Create some data:
x = np.arange(0,2*np.pi,0.001)
y = np.sin(x)
这与预期的效果一样:

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
ax.hist2d(x,y)
ax.plot(x,y)
plt.show()

将x-lim设置为小于数据范围的值会生成更小的绘图:

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
ax.hist2d(x,y)
ax.plot(x,y)
ax.set_xlim([0,0.1])
plt.show()

编辑:在进一步调查中,绘图大小相同,绘图右侧的输出图像中只有大量空白,导致浏览器收缩图像

移除2d直方图后,其行为与我预期的一样:

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
#ax.hist2d(x,y)
ax.plot(x,y)
ax.set_xlim([0,0.1])
plt.show()

似乎是matplotlib的一个bug,因为您的代码看起来是正确的。我观察到同样的行为。你找到解决办法了吗?