如何使用标签和刻度区域透明而不是matplotlib中的主绘图区域保存绘图?

Posted

技术标签:

【中文标题】如何使用标签和刻度区域透明而不是matplotlib中的主绘图区域保存绘图?【英文标题】:How to save the plot with the labels and ticks area transparent but not the main plot area in matplotlib? 【发布时间】:2018-09-16 01:18:07 【问题描述】:

我正在尝试保存标签区域(打印 xlabel、ylabel 和标题的区域)透明且主图(绘制数据的区域)不透明的图。

我在 savefig 中使用了透明命令:

plt.savefig("name",tranparent=True)

问题是这会使所有图形变得透明。

在文档中关于透明参数的说法是这样的:

透明:布尔

如果为 True,则坐标区补丁都是透明的;除非通过 kwargs 指定 facecolor 和/或 edgecolor,否则图形补丁也将是透明的。例如,这对于在网页的彩色背景上显示绘图很有用。退出此函数后,这些补丁的透明度将恢复为原始值。

所以我尝试更改 facecoloredgecolor 参数,但我找不到能够给出我想要的情节的组合。

帮助。

【问题讨论】:

【参考方案1】:

在最新版本的 matplotlib 中有一个bug。我不确定这是否适用于这里,因为您没有说明您使用的是哪个版本。

解决方法是使用透明的 facecolor 并将其他参数保留为默认值。

fig.savefig("fname", facecolor=(1,1,1,0))

【讨论】:

成功了,谢谢。我拥有的 matplotlib 版本是 1.5.1

以上是关于如何使用标签和刻度区域透明而不是matplotlib中的主绘图区域保存绘图?的主要内容,如果未能解决你的问题,请参考以下文章

格式轴刻度标签

如何在三元图中的刻度上而不是 x 和 y 轴上进行缩放

origin填充图案导出pdf有问题

如何在没有手动限制的情况下在一侧扩展 ggplot 条形刻度而不是另一侧

Matplotlib基础使用

r语言 plot设置刻度