Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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 在matplotlib中,区段真正起什么作用?_Python_Matplotlib - Fatal编程技术网

Python 在matplotlib中,区段真正起什么作用?

Python 在matplotlib中,区段真正起什么作用?,python,matplotlib,Python,Matplotlib,最近,我在导入图像和numpy中的随机数据后,一直在摆弄matplotlib。我将图形的范围更改为double max range(即20x20矩阵的范围为40x40),但它们看起来仍然一样。我找不到任何关于这种情况下的真实程度的文件。它是否复制了我的数据,对其进行插值,或者使用其他函数?我想您是在询问imshow的范围关键字参数 这用于定义轴中图像的单位。默认情况下,即不设置范围,单位正好是阵列的像素。例如,如果您有一个10x10像素的图像,则范围为(-0.5,9.5,9.5,-0.5) 每

最近,我在导入图像和numpy中的随机数据后,一直在摆弄matplotlib。我将图形的范围更改为double max range(即20x20矩阵的范围为40x40),但它们看起来仍然一样。我找不到任何关于这种情况下的真实程度的文件。它是否复制了我的数据,对其进行插值,或者使用其他函数?

我想您是在询问
imshow
范围
关键字参数

这用于定义轴中图像的单位。默认情况下,即不设置
范围
,单位正好是阵列的像素。例如,如果您有一个10x10像素的图像,则范围为
(-0.5,9.5,9.5,-0.5)

每个像素是一个大单位,整数是像素中心

但是,您可能希望对图像使用不同的单位。可能对数据进行了校准,或者数据是使用不同单位的计算结果。在这种情况下,可以设置
范围
,以确定图像在轴单元的2D空间中的位置。例如,如果您希望图像在x方向的范围为-300到300,在y方向的范围为50到450,则可以使用
范围=[-300450,50]

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(42)

data = np.random.rand(10,10)

fig, ax2 = plt.subplots()

ax2.imshow(data, extent=[-300,300,450,50])

plt.show()

由于默认的相等纵横比(
aspect=“equal”
),不仅轴坐标现在在-300到300和50到450之间变化,而且图像的形状现在也变成了非二次形状,即具有
(450-50)/(300+300)=0.666的纵横比

有一个可用的示例,它也解释了这一点,并且还澄清了如何确定和操纵轴相对于图像数据的方向

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(42)

data = np.random.rand(10,10)

fig, ax2 = plt.subplots()

ax2.imshow(data, extent=[-300,300,450,50])

plt.show()