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查找所需的样式。
最后,我们提醒读者:在数据可视化方案的时候,提供简洁、明确的可视化方法和解析是至关重要的。