详解matplotlib绘图样式(style)初探

1. matplotlib绘图样式简介

matplotlib是一个数据可视化的工具库,可以用来绘制各种静态、动态、交互式的图表,例如:线图、饼图、柱状图以及散点图等等。matplotlib提供的样式(style)可以快速美化绘图,使图像更加清晰、美观,方便数据分析人员快速获取想要的结果。

matplotlib的样式有两种:内置样式和自定义样式。内置样式可以直接使用,而自定义样式可以根据自己的需要进行修改。在此我们介绍如何使用内置样式。

2. matplotlib内置样式

2.1 查看内置样式

首先,需要查看matplotlib内置的所有样式。

import matplotlib.pyplot as plt

styles = plt.style.available

print(styles)

输出结果:

['Solarize_Light2', 'classic', 'seaborn-pastel', 'ggplot', 'dark_background', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-whitegrid', 'seaborn-poster', 'seaborn-white', 'fivethirtyeight', 'fast', 'seaborn-talk', 'seaborn-muted', 'seaborn-bright', 'grayscale', 'seaborn-dark', '_classic_test', 'bmh', 'seaborn-dark-palette', 'seaborn-colorblind', 'seaborn-notebook', 'tableau-colorblind10', 'seaborn']

以上代码通过plt.style.available查看matplotlib所有可用的样式。

2.2 应用内置样式

选择一种内置的样式更改绘图样式。

plt.style.use('seaborn-bright')

fig, ax = plt.subplots()

x = [1, 2, 3, 4, 5]

y = [10, 8, 6, 4, 2]

ax.plot(x, y)

plt.show()

输出结果:

我们选用了’solarize_Light2’样式,通过plt.style.use调用所选择的样式。

3. 自定义样式

如果默认样式无法满足需求,可以自定义样式。自定义样式需要计算机有如下路径:

~/.matplotlib

接下来我们来创建一个自己的样式。

3.1 创建自有样式

使用下面的命令创建自己的样式文件夹:

import matplotlib as mpl

import matplotlib.pyplot as plt

import numpy as np

import os

if not os.path.exists('~/.matplotlib'):

os.makedirs('~/.matplotlib')

mpl_config_path = os.path.join(os.path.expanduser('~'), '.matplotlib')

if not os.path.exists(os.path.join(mpl_config_path, 'stylelib')):

os.makedirs(os.path.join(mpl_config_path, 'stylelib'))

def write_file(filepath, data):

with open(filepath, 'wb') as file:

file.write(data)

my_style = """

lines.linewidth: 5

lines.markersize: 10

axes.facecolor: #E5E5E5

axes.edgecolor: white

axes.grid: True

grid.color: white

grid.linestyle: --

grid.linewidth: 1

xtick.major.size: 10

ytick.major.size: 5

xtick.minor.size: 5

ytick.minor.size: 2

font.size: 15.0

figure.dpi: 300

"""

write_file(os.path.join(mpl_config_path, 'stylelib', 'my_style.mplstyle'), my_style.encode())

Key、Value的值可以在官方文档中找到。

3.2 调用自有样式

调用自定义样式文件:

plt.style.use(os.path.join(mpl_config_path, 'stylelib', 'my_style.mplstyle'))

fig, ax = plt.subplots()

x = [1, 2, 3, 4, 5]

y = [10, 8, 6, 4, 2]

ax.plot(x, y)

plt.show()

输出结果:

4. 恢复默认样式

我们可以使用plt.style.use(‘default’)命令使matplotlib恢复默认样式。

plt.style.use('default')

恢复默认设置。

5. 总结

本文介绍了如何使用matplotlib内置样式以及如何自定义一个样式。

内置的样式可以从plt.style.available查看,通过plt.style.use(‘style_name’)来应用所需要的样式。

自定义样式需要在mpl_config_path/stylelib文件夹中创建一个文件并重新打开python查找所需的样式。

最后,我们提醒读者:在数据可视化方案的时候,提供简洁、明确的可视化方法和解析是至关重要的。

后端开发标签