要删除图中的框架,我写
frameon=False
与 pyplot.figure
完美配合,但与 matplotlib.Figure
配合使用,它只会删除灰色背景,框架会保留。另外,我只想显示线条,其余所有图形都是透明的。
使用 pyplot 我可以做我想做的事,我想用 matplotlib 做这件事有很长的原因我宁愿不提扩展我的问题。
原文由 Emmet B 发布,翻译遵循 CC BY-SA 4.0 许可协议
要删除图中的框架,我写
frameon=False
与 pyplot.figure
完美配合,但与 matplotlib.Figure
配合使用,它只会删除灰色背景,框架会保留。另外,我只想显示线条,其余所有图形都是透明的。
使用 pyplot 我可以做我想做的事,我想用 matplotlib 做这件事有很长的原因我宁愿不提扩展我的问题。
原文由 Emmet B 发布,翻译遵循 CC BY-SA 4.0 许可协议
ax.axis('off')
,正如 Joe Kington 指出的那样,将删除除绘制线之外的所有内容。
对于那些只想删除框架(边框)并保留标签、代码等的人,可以通过访问轴上的 spines
对象来实现。给定一个轴对象 ax
,以下应删除所有四个边的边框:
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
并且,如果从图中删除 x
和 y
滴答声:
ax.get_xaxis().set_ticks([])
ax.get_yaxis().set_ticks([])
原文由 peeol 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答972 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
首先,如果您使用的是
savefig
,请注意它会在保存时覆盖图形的背景颜色,除非您另有指定(例如fig.savefig('blah.png', transparent=True)
)。但是,要在屏幕上删除轴和图形的背景,您需要将
ax.patch
和fig.patch
设置为不可见。例如
(当然,你在SO的白底上是看不出来的,但是一切都是透明的。。。)
如果您不想显示直线以外的任何内容,请使用
ax.axis('off')
关闭轴:不过,在那种情况下,您可能想让坐标轴占据整个图形。如果您手动指定轴的位置,您可以让它占据整个图形(或者,您可以使用
subplots_adjust
,但这对于单个轴的情况更简单)。