我有一个非常大的空格的情节。当我尝试使用savefig()
保存时,我的彩色区域会显示小点,如下图所示:
但如果我放大show()
输出,我可以看到绘制的矩形:
(差不多x100)
每个轴上的值如下:
x = [[start0,end0],[start1,end1],singlePoint1,...,[startn,endn],singlePoint2]
y = [[start0,end0],[start1,end1],singlePoint1,...,[startn,endn],singlePoint2]
并且有一个有效区域列表:
valid = [[s0,e0], [s1,e1],SP1,...,[sn,en],SP2,... ]
x
和y
是其子集。
如何减少空白空间并获得缩放图像(人类可检测到的东西!)。
感谢任何帮助
修改
我想到了删除无效区域(不在valid
列表中的区域),但不知道如何做到这一点。
有效区域中的空白区域比无效的白色区域更值得关注。
答案 0 :(得分:0)
你要求的是非标准的,所以如果matplotlib中存在功能,我会感到惊讶。
如果您有感兴趣的地区列表,那么您可以尝试
for x0,y0,x1,y1 in valid_zones:
plt.axis([x0, x1, y0, y1])
plt.saveFig()
这为每个有效区域提供了一个png,全部放大,带有轴和一切。如果我理解你的问题,那么你想把它们全部组合成一个单独的图像,将它们并排推入某种网格中。你可以使用图像处理工具,我自己喜欢PIL。你已经知道你有多少个有效区域,比方说它是100,当你加载其中一个png时,你可以知道它们的[高度,宽度]是多少。所以现在制作一个巨大的空图像[10 *高,10 *宽],然后遍历所有图像文件并将它们逐块复制到大空图像中。这将为您提供有效区域的网格,每个区域都有自己的轴,如果您对顺序很聪明,它们甚至会在大致正确的笛卡尔位置。如果我正确理解你的问题,这几乎与删除空格一样。
[注意]:正如我在上面的评论中所说,如果这只是为了你的眼睛,那么很酷,但如果你打算把它放在一份报告/论文中,那么请注意这是 具有误导性和科学可疑性。