使用黑色iPython Notebook配置文件显示Seaborn/Matplotlib绘图的最佳方式

use*_*994 16 matplotlib ipython ipython-notebook seaborn

我使用奇妙的Seaborn库来获取IPython Notebook中的一些摘要统计数据.我最近切换到我的笔记本的深色主题,并试图找出深色背景的Seaborn最佳见解.我正在使用这种darkgrid风格,但传说仍然是用黑色打印,这使得它们无法阅读.这是一个例子:

在黑暗的背景的Seaborn

修复我使用Seaborn的样式以使图例显示为白色的最佳方法是什么?

更新:我刚注意到我的Matplotlib图存在同样的问题..所以我的问题更为笼统.您使用什么样式来允许黑暗图上的白色,以便传说可读?

mwa*_*kom 15

您可以自定义seaborn样式,并尝试使其相对容易.

如果要查看被视为"样式"定义一部分的每个参数,只需调用sns.axes_style()不带参数,它将返回当前设置.从0.3.1开始,对于默认样式("darkgrid"),它看起来像这样:

{'axes.axisbelow': True,
 'axes.edgecolor': 'white',
 'axes.facecolor': '#EAEAF2',
 'axes.grid': True,
 'axes.labelcolor': '.15',
 'axes.linewidth': 0,
 'font.family': 'Arial',
 'grid.color': 'white',
 'grid.linestyle': '-',
 'image.cmap': 'Greys',
 'legend.frameon': False,
 'legend.numpoints': 1,
 'legend.scatterpoints': 1,
 'lines.solid_capstyle': 'round',
 'pdf.fonttype': 42,
 'text.color': '.15',
 'xtick.color': '.15',
 'xtick.direction': 'out',
 'xtick.major.size': 0,
 'xtick.minor.size': 0,
 'ytick.color': '.15',
 'ytick.direction': 'out',
 'ytick.major.size': 0,
 'ytick.minor.size': 0}
Run Code Online (Sandbox Code Playgroud)

一个好的启发式方法是你可能只需要"color"名字中的参数,所以你可以过滤它:

{k: v for k, v in sns.axes_style().items() if "color" in k}
Run Code Online (Sandbox Code Playgroud)

回报

{'axes.edgecolor': 'white',
 'axes.facecolor': '#EAEAF2',
 'axes.labelcolor': '.15',
 'grid.color': 'white',
 'text.color': '.15',
 'xtick.color': '.15',
 'ytick.color': '.15'}
Run Code Online (Sandbox Code Playgroud)

然后,您可以将包含这些参数值的自定义词典传递到sns.set_style():

custom_style = {'axes.labelcolor': 'white',
                'xtick.color': 'white',
                'ytick.color': 'white'}
sns.set_style("darkgrid", rc=custom_style)
Run Code Online (Sandbox Code Playgroud)

  • 是的,但是:您可以将其设置为默认值吗?还是需要将这段代码粘贴到每个笔记本中? (2认同)

cry*_*ick 6

为什么不简单

plt.style.use("dark_background")


小智 5

我发现添加这个

plt.figure(facecolor='w')
Run Code Online (Sandbox Code Playgroud)

每次我绘图都会处理轴背景。


The*_*Cat 5

sns.set_style("darkgrid")
Run Code Online (Sandbox Code Playgroud)

将使背景变白,以便您可以看到文本.

在此输入图像描述