seaborn.objects.Plot.theme#

Plot.theme(config, /)#

控制绘图中元素的外观。

注意

定制绘图外观的 API 尚未最终确定。目前,唯一有效的参数是 matplotlib rc 参数的字典。 (此字典必须作为位置参数传递。)

此方法可能会在将来的版本中得到增强。

Matplotlib rc 参数在以下页面中进行了说明:https://matplotlib.net.cn/stable/tutorials/introductory/customizing.html

示例

默认主题使用与 seaborn.set_theme() 相同的参数,没有其他参数

p = (
    so.Plot(anscombe, "x", "y", color="dataset")
    .facet("dataset", wrap=2)
    .add(so.Line(), so.PolyFit(order=1))
    .add(so.Dot())
)
p
../_images/objects.Plot.theme_1_0.png

传递 rc 参数字典以更改绘图的外观

p.theme({"axes.facecolor": "w", "axes.edgecolor": "slategray"})
../_images/objects.Plot.theme_3_0.png

默认情况下,许多(但并非全部)标记属性将反映主题参数

p.theme({"lines.linewidth": 4})
../_images/objects.Plot.theme_5_0.png

通过传递样式函数的输出来应用 seaborn 样式

from seaborn import axes_style
p.theme(axes_style("ticks"))
../_images/objects.Plot.theme_7_0.png

或者应用与 matplotlib 一起提供的样式

from matplotlib import style
p.theme(style.library["fivethirtyeight"])
../_images/objects.Plot.theme_9_0.png

应将多个参数字典传递给同一个函数调用。在 Python 3.9+ 上,您可以使用字典联合语法来实现此目的

from seaborn import plotting_context
p.theme(axes_style("whitegrid") | plotting_context("talk"))
../_images/objects.Plot.theme_11_0.png

可以使用 Plot.config 属性更改所有 Plot 实例的默认主题

so.Plot.config.theme.update(axes_style("white"))
p
../_images/objects.Plot.theme_13_0.png

有关详细信息,请参阅 绘图配置