Matplotlib散点图-删除白色填充

Matplotlib散点图-删除白色填充,第1张

Matplotlib散点图-删除白色填充

问题在于,在Matplotlib图上给出的所有解决方案:删除轴,图例和空白实际上是要使用的

imshow

因此,以下显然有效

import matplotlib.pyplot as pltfig = plt.figure()ax=fig.add_axes([0,0,1,1])ax.set_axis_off()im = ax.imshow([[2,3,4,1], [2,4,4,2]], origin="lower", extent=[1,4,2,8])ax.plot([1,2,3,4], [2,3,4,8], lw=5)ax.set_aspect('auto')plt.show()

并产生

但是在这里,您正在使用

scatter
。添加散点图

import matplotlib.pyplot as pltfig = plt.figure()ax=fig.add_axes([0,0,1,1])ax.set_axis_off()im = ax.imshow([[2,3,4,1], [2,4,4,2]], origin="lower", extent=[1,4,2,8])ax.plot([1,2,3,4], [2,3,4,8], lw=5)ax.scatter([2,3,4,1], [2,3,4,8], c="r", s=2500)ax.set_aspect('auto')plt.show()

Scatter
特殊之处在于,默认情况下matplotlib尝试使所有点可见,这意味着已设置轴限制,以使所有分散点在整体上可见。

为了克服这个问题,我们需要专门设置轴限制:

import matplotlib.pyplot as pltfig = plt.figure()ax=fig.add_axes([0,0,1,1])ax.set_axis_off()im = ax.imshow([[2,3,4,1], [2,4,4,2]], origin="lower", extent=[1,4,2,8])ax.plot([1,2,3,4], [2,3,4,8], lw=5)ax.scatter([2,3,4,1], [2,3,4,8], c="r", s=2500)ax.set_xlim([1,4])ax.set_ylim([2,8])ax.set_aspect('auto')plt.show()

这样我们就可以得到想要的行为。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5143432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存