在 matplotlib 图上启用白框/禁用透明框

Enable white frames on matplotlib figure/ Disable transparent frames

我是 运行 ipython 黑色主题的笔记本。当我在此基础上构建图表时,图表是白色的,但框架是透明的(因此是黑色的),隐藏了也是黑色的刻度线。有没有办法让边框不透明/变白?

由于黑色背景,刻度几乎看不见。

我该如何解决这个问题?谢谢!

编辑:这不是关于改变轴的颜色,ticks/labels,我正在考虑添加一个白色背景框,而不是改变刻度线的颜色 - 如果我只是改变它会很难看刻度线的颜色,因为图形是白色的

在带有 %matplotlib inline 后端(通常是默认设置)的 jupyter 中显示的图形是通过 savefig 将其保存为 png 然后显示的。 savefig 有一个参数 facecolor,它设置图形背景的颜色。这可以设置为白色,例如fig.savefig("name.png", facecolor="w").

可以在 jupyter 配置中调整保存选项。要获得白色背景,可以设置

%config InlineBackend.print_figure_kwargs={'facecolor' : "w"}

在显示绘图之前的单元格中。

如果每个笔记本都用那个,也可以加到ipython configuration file

c = get_config()
c.InlineBackend.print_figure_kwargs={'facecolor' : "w"}

要有一个透明的框架,只需在加载 matplotlib 后添加以下行:

import matplotlib.pyplot as plt
plt.rcParams['axes.facecolor'] = 'none'

这对我有用!