18

我正在使用 Seaborn 在 Pandas 中绘制一些数据。

我正在制作一些非常大的地块(factorplots)。

为了看到它们,我在我的大学里使用了一些可视化设备。我正在使用由 4 x 4 监视器组成的复合屏幕,斜角很小(但非零)——屏幕之间的间隙。这个缝隙是黑色的。为了尽量减少屏幕之间的断开连接,我希望图形背景为黑色。我一直在挖掘文档并玩弄它,但我无法解决..这当然很简单。

我可以使用灰色背景set_style('darkgrid')

我需要直接访问 matplotlib 中的绘图吗?

4

3 回答 3

35

seaborn.set接受一个rc接受有效 matplotlib 字典的参数rcparams。所以我们需要设置两件事:axes.facecolor,它是绘制数据区域的颜色,以及,它是对象figure.facecolor之外的图形的一部分。axes

(根据@mwaskom 的建议编辑)

所以如果你这样做:

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn
seaborn.set(rc={'axes.facecolor':'cornflowerblue', 'figure.facecolor':'cornflowerblue'})

fig, ax = plt.subplots()

你得到:

在此处输入图像描述

这也适用于您FacetGrid的。

于 2014-08-11T16:18:57.610 回答
9

我对 seaborn 不熟悉,但以下内容似乎可以让您通过设置轴背景来更改背景。它可以设置任何ax.set_* 元素。

import seaborn as sns
import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt

m=pd.DataFrame({'x':['1','1','2','2','13','13'],
                'y':np.random.randn(6)})

facet = sns.factorplot('x','y',data=m)

facet.set(axis_bgcolor='k')

plt.show()
于 2014-08-11T12:42:07.393 回答
3

在新版本的 seaborn 中,您还可以使用 axes_style()set_style()快速将绘图样式设置为预定义样式之一:darkgrid、whitegrid、dark、white、ticks

st = axes_style("whitegrid")
set_style("ticks", {"xtick.major.size": 8, "ytick.major.size": 8})

seaborn 文档中的更多信息

于 2018-06-27T03:25:50.763 回答