如何使用标签和刻度区域透明而不是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,否则图形补丁也将是透明的。例如,这对于在网页的彩色背景上显示绘图很有用。退出此函数后,这些补丁的透明度将恢复为原始值。
所以我尝试更改 facecolor
和 edgecolor
参数,但我找不到能够给出我想要的情节的组合。
帮助。
【问题讨论】:
【参考方案1】:在最新版本的 matplotlib 中有一个bug。我不确定这是否适用于这里,因为您没有说明您使用的是哪个版本。
解决方法是使用透明的 facecolor 并将其他参数保留为默认值。
fig.savefig("fname", facecolor=(1,1,1,0))
【讨论】:
成功了,谢谢。我拥有的 matplotlib 版本是 1.5.1以上是关于如何使用标签和刻度区域透明而不是matplotlib中的主绘图区域保存绘图?的主要内容,如果未能解决你的问题,请参考以下文章