Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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 imshow(纵横比=';自动';)生成高度不均匀的行_Python_Matplotlib - Fatal编程技术网

Python matplotlib imshow(纵横比=';自动';)生成高度不均匀的行

Python matplotlib imshow(纵横比=';自动';)生成高度不均匀的行,python,matplotlib,Python,Matplotlib,基本imshow图 import numpy as np import matplotlib.pyplot as plt aaa = np.arange(800).reshape((80, 10)) % 6 fig, ax = plt.subplots(figsize=(3, 10)) img = ax.imshow(aaa, aspect='auto') plt.show() 生成以下图像: 在非常仔细的检查下,第二排明显比第一排和第三排厚。我尝试将图像保存为(.png)计数像素,并

基本imshow图

import numpy as np
import matplotlib.pyplot as plt

aaa = np.arange(800).reshape((80, 10)) % 6

fig, ax = plt.subplots(figsize=(3, 10))
img = ax.imshow(aaa, aspect='auto')

plt.show()
生成以下图像:


在非常仔细的检查下,第二排明显比第一排和第三排厚。我尝试将图像保存为(.png)计数像素,并保存为(.pdf)在浏览器中检查图像。在这两种情况下,我必须得出结论,行的高度确实不均匀。为什么?如何解决这个问题?这是一个我实际上打算公布的数字的最小示例,在那里效果看起来更糟。我希望aspect='auto'将均匀拉伸应用于整个图像…

这是一个锯齿问题。如果保存为
.png
,则可以设置
dpi=600
或更高@约翰:谢谢,这很有道理。但是
.pdf
呢?它被保存为一个向量,对吗?为什么会出现不均匀?图像仍然保存为pdf格式的光栅。如果要控制该光栅的分辨率,请使用
fig.savefig('boo.pdf',dpi=300)
,光栅将为300 dpi(即使图形的其余部分是矢量)。如果希望实际正方形成为完美的矢量图形,请使用
pcolormesh