Matplotlib - 风格表



什么是样式表?

在 Matplotlib 库中,样式表是预定义的一组美学配置,用于控制绘图的整体外观。它们提供了一种便捷的方式,只需最少的努力即可更改绘图的外观和感觉。

样式表包含对绘图各种元素的预定义设置,例如颜色、线型、字体、网格样式等等。Matplotlib 提供了一组内置样式表,使我们能够快速将不同的视觉主题应用于我们的绘图。

当没有设置特定样式时,将使用默认样式,但 Matplotlib 包括其他几种样式,例如 **gplot、seaborn、bmh、dark_background** 等等。这些样式表提供了不同的配色方案、线型、字体设置和整体美学。

Matplotlib 提供了各种内置样式表。以下是关于如何使用它们概述:

查看可用的样式表

Matplotlib 提供不同的样式表,这些样式表会改变绘图的整体外观,并更改颜色、线型、字体大小等元素。样式表提供了一种快速简便的方法来更改可视化的美学。

语法

我们可以使用以下语法检查可用的样式表。

plt.style.available

示例

在这个例子中,我们使用 **plt.style.available** 获取 Matplotlib 库中所有可用的样式表。

import matplotlib.pyplot as plt
# List available stylesheets
print("Available stylesheets:", plt.style.available)

输出

Available stylesheets: [
   'Solarize_Light2', '_classic_test_patch', 
   '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 
   'dark_background', 'fast', 'fivethirtyeight', 
   'ggplot', 'grayscale', 'seaborn', 'seaborn-bright',
   'seaborn-colorblind', 'seaborn-dark',
   'seaborn-dark-palette', 'seaborn-darkgrid',
   'seaborn-deep', 'seaborn-muted', 'seaborn-notebook',
   'seaborn-paper', 'seaborn-pastel', 'seaborn-poster',
   'seaborn-talk', 'seaborn-ticks', 'seaborn-white',
   'seaborn-whitegrid', 'tableau-colorblind10']

使用样式表

使用 Matplotlib 样式表非常简单。我们可以将特定样式应用于我们的绘图。以下是语法。

语法

plt.style.use('stylesheet_name')

其中:

  • **plt.style.use()** - 用于将定义的样式表应用于整个绘图。

  • **stylesheet_name** - 我们想要应用的样式表的名称。

示例

在这个例子中,我们通过在创建绘图之前使用 **plt.style.use('ggplot')** 来使用 **'ggplot'** 样式表。

import matplotlib.pyplot as plt
# Using a specific stylesheet
plt.style.use('ggplot')  # Example: Using the 'ggplot' style
x = [10,30,20,50]
y = [30,23,45,10]
plt.plot(x,y)
plt.title("Plot with ggplot style sheet")
plt.show()

输出

Using Stylesheet

临时应用样式表

如果我们想将样式表临时应用于特定代码块而不影响其他绘图,我们可以使用 **plt.style.context('stylesheet_name')**。

此临时上下文仅在 `with` 语句下缩进的代码块内应用指定的样式。

示例

在这个例子中,我们使用 Matplotlib 库中可用的 plt.style.context() 函数将样式表设置为 **seaborn-dark**。

import matplotlib.pyplot as plt
x = [10,30,20,50]
y = [30,23,45,10]
with plt.style.context('seaborn-dark'):
   # Code for a plot with 'seaborn-dark' style
   plt.plot(x, y)
   plt.title('Seaborn-Dark Style')
   plt.show()  # The 'seaborn-dark' style will only affect this plot

输出

Temporary Stylesheet

创建自定义样式表

我们还可以通过定义 **.mplstyle** 文件或使用指定样式参数的 Python 字典来创建自定义样式表:

示例

在这个例子中,我们使用字典创建自定义样式表。

import matplotlib.pyplot as plt
# Define a custom style using a dictionary
custom_style = {
   'lines.linewidth': 10,
   'lines.color': 'red',
   'axes.labelsize': 30,
   # Add more style configurations as needed
}
# Use the custom style
plt.style.use(custom_style)
x = [10,30,20,50]
y = [30,23,45,10]
plt.plot(x,y)
plt.title("Plot with custom style sheet")
plt.show()

输出

Custom Stylesheet

样式表提供了一种有效的方法来维护多个绘图之间的一致性,或者轻松地试验各种视觉样式。我们可以选择最符合我们的偏好或数据可视化特定要求的样式表。

广告