Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python matplolib中重新自动缩放图像_Python_Matplotlib - Fatal编程技术网

在python matplolib中重新自动缩放图像

在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

我在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.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.]]))

有没有人有一个像样的解决方案,可以解释我应该如何从医生那里找到它? 谢谢

丹尼斯