我正试图绘制一个散点图的形象,没有任何白色周围。
如果我只绘制图像如下,那么就没有白色:
fig = plt.imshow(im,alpha=alpha,extent=(0,1,1,0))
plt.axis('off')
fig.axes.axis('tight')
fig.axes.get_xaxis().set_visible(False)
fig.axes.get_yaxis().set_visible(False)
但我在图像上添加了一个散点图,如下所示:
fig = plt.scatter(sx, sy,c="gray",s=4,linewidths=.2,alpha=.5)
fig.axes.axis('tight')
fig.axes.get_xaxis().set_visible(False)
fig.axes.get_yaxis().set_visible(False)
此时,通过使用以下savefig命令,在图像周围添加白色:
plt.savefig(im_filename,format="png",bbox_inches='tight',pad_inches=0)
有什么办法可以把白色的地方去掉吗?
2条答案
按热度按时间vlf7wbxs1#
通过切换到mpl面向对象的样式,您可以在相同的轴上绘制图像和散点图,因此只需使用
ax.imshow
和ax.scatter
设置一次空白。在下面的示例中,我使用
subplots_adjust
删除了轴周围的空白,并使用ax.axis('tight')
将轴限制设置为数据范围。pftdvrlh2#
这适用于在show和savefig中将图像扩展到全屏,没有框架,脊椎或刻度,注意,一切都在plt示例中完成,无需创建子图,轴示例或bbox:
这在至少600dpi下有效,这远远超出了正常显示宽度下的原始图像分辨率。这对于显示OpenCV图像非常方便,而不会使用
在plt.imshow之前转换颜色格式。