在python matplolib中重新自动缩放图像
我在Matplotlib文档中遇到了寻找问题解决方案的困难。下面是一个非常简单的问题的例子。我当然对解决方案感兴趣,但更重要的是如何在官方matplotlib文档中找到解决方案 我有一个自动缩放关闭的初始空轴:在python matplolib中重新自动缩放图像,python,matplotlib,Python,Matplotlib,我在Matplotlib文档中遇到了寻找问题解决方案的困难。下面是一个非常简单的问题的例子。我当然对解决方案感兴趣,但更重要的是如何在官方matplotlib文档中找到解决方案 我有一个自动缩放关闭的初始空轴: import matplotlib.pyplot as plt import numpy as np fig= plt.figure() ax = fig.add_subplot(111) ax.autoscale(enable=False) plt.show() print ax.da
import matplotlib.pyplot as plt
import numpy as np
fig= plt.figure()
ax = fig.add_subplot(111)
ax.autoscale(enable=False)
plt.show()
print ax.dataLim
print ax.viewLim
我对数据和视图都有0,1个限制:
Bbox('array([[0,0.],\n[1,1.]]))
Bbox('array([[0,0.],\n[1,1.]]))
然后,我添加了一个部分与初始视图重叠但也延伸到外部的图像:
arr=np.array([[1,2,3],[4,5,6],[7,8,9]])
im = ax.imshow(arr,interpolation='Nearest',origin='lower')
im.set_extent([0.5,2.,0.5,2.])
plt.show()
print ax.dataLim
print ax.viewLim
我对数据和视图有以下限制:
Bbox('array([-0.5,-0.5],\n[2.5,2.5]]))
Bbox('array([[0,0.],\n[1,1.]]))
现在我改变了主意,决定自动缩放数据(和视图),期望有以下限制:
Bbox('array([-0.5,-0.5],\n[2.5,2.5]]))
Bbox('数组([[0.5,0.5],\n[2,2.]]))
我找不到一个结合ax.autoscale()、ax.relim()、ax.autoscale_视图的正确自动缩放方案,这就达到了这个目标。
例如,限制包括数据,但在使用时太大
ax.autoscale(enable=True)
ax.relim()
print ax.dataLim
print ax.viewLim
Bbox('array([-0.5,-0.5],\n[2.5,2.5]]))
Bbox('array([-0.5,-0.5],\n[2.5,2.5]]))
我发现的唯一非常不雅观的解决方案是重新定义图像范围:
ax.autoscale(enable=True)
im.set_extent(im.get_extent())
plt.show()
print ax.dataLim
print ax.viewLim
Bbox('array([-0.5,-0.5],\n[2.5,2.5]]))
Bbox('数组([[0.5,0.5],\n[2,2.]]))
有没有人有一个像样的解决方案,可以解释我应该如何从医生那里找到它?
谢谢
丹尼斯