Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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 fill()和plot()在pyplot中给出不同的结果_Python_Matplotlib - Fatal编程技术网

Python fill()和plot()在pyplot中给出不同的结果

Python fill()和plot()在pyplot中给出不同的结果,python,matplotlib,Python,Matplotlib,我正在尝试创建两组图像。第一组是随机填充的形状。第二组是集合1中形状的对应轮廓。我能够生成这些图像。问题是,与填充形状相比,轮廓似乎被“压缩”。我希望它们大小一样。 代码如下: #生成两组图像,每组500张 对于范围(500)内的图像数量: 打印('生成图像'+str(图像数量)) #每个图像中有42个形状 对于范围(0,42)内的ii: #获取形状的坐标 x、 y=获取随机闭合形状的方法() #获取随机灰度颜色以填充形状 颜色=获取随机灰度颜色的方法() #在第一个图像中绘制填充形状 plt

我正在尝试创建两组图像。第一组是随机填充的形状。第二组是集合1中形状的对应轮廓。我能够生成这些图像。问题是,与填充形状相比,轮廓似乎被“压缩”。我希望它们大小一样。

代码如下:

#生成两组图像,每组500张
对于范围(500)内的图像数量:
打印('生成图像'+str(图像数量))
#每个图像中有42个形状
对于范围(0,42)内的ii:
#获取形状的坐标
x、 y=获取随机闭合形状的方法()
#获取随机灰度颜色以填充形状
颜色=获取随机灰度颜色的方法()
#在第一个图像中绘制填充形状
plt.图(0)
零件填充(x、y、str(颜色))
#在第二个图像中绘制相应的轮廓
plt.图(1)
plt.绘图(x,y,'k')
#将填充的绘图另存为图像
plt.图(0)
bg\u color=获取随机灰度颜色的方法()
打印轴(“关闭”)
plt.savefig(“filled_image/”+str(image_num)+'.png',
facecolor=str(背景颜色))
#将相应的轮廓另存为图像
plt.图(1)
打印轴(“关闭”)
plt.savefig(“轮廓/”+str(图像数量)+'.png')
#清除打印以创建下一组图像
plt.图(0).clf()
plt.图(1).clf()
我已尝试指定绘图的大小:

plt.图(0,figsize=(6,6),dpi=96)
plt.图(1,figsize=(6,6),dpi=96)
我还尝试在保存时指定dpi:

plt.savefig(“filled_image/”+str(image_num)+'.png',dpi=96,
facecolor=str(背景颜色))
plt.savefig(“轮廓/”+str(图像数量)+'.png',dpi=96)
但这些方法似乎都不管用。请帮忙

更新:
修正了这个问题。我使用的是轴。设置纵横比(“相等”)。移除它可以修复它。

手动将x/y限制设置为相同?我的猜测是,
fill
plot
的自动x/y限制不同。我无法重现这一点<代码>填充s和
绘图
s的位置完全相同。您可能希望创建一个,这样人们就可以在这里提供帮助。谢谢@ImportanceOfBeingErnest。我试图创建一个最小的工作示例,发现我使用的是
Axes.set\u aspect(“equal”)
。删除它修复了这个问题。无论如何谢谢你!!手动将x/y限制设置为相同?我的猜测是,
fill
plot
的自动x/y限制不同。我无法重现这一点<代码>填充s和
绘图
s的位置完全相同。您可能希望创建一个,这样人们就可以在这里提供帮助。谢谢@ImportanceOfBeingErnest。我试图创建一个最小的工作示例,发现我使用的是
Axes.set\u aspect(“equal”)
。删除它修复了这个问题。无论如何谢谢你!!