Matplotlib
库 由于诞生的比较早,所以其默认的显示样式很难符合现在的审美,这也是它经常为人诟病的地方。
不过,经过版本更迭之后,现在 Matplotlib
已经内置了很多样式表,
通过使用不同的样式表,可以整体改变绘制图形的风格,不用再调整一个个显示参数。
首先,查看内置的样式表有哪些:
import matplotlib.pyplot as plt
plt.style.available
使用样式表的方式有两种:
一种是全局样式表设置,比如:
plt.style.use("ggplot")
随后的代码中,所有绘制的图形都是 ggplot
风格。
另一种局部样式表设置,比如:
with plt.style.context("classic"):
# 绘制图形
pass
这种方式,样式表只在 with
范围内生效。
下面演示几种风格差异比较大的样式表。
首先,封装一个绘制图形的函数。
def draw():
x = np.array(range(10))
y = np.random.randint(10, 100, 10)
fig = plt.figure(figsize=[6,4])
fig.add_subplot(211)
plt.plot(x, y)
fig.add_subplot(212)
plt.hist(y)
with plt.style.context("classic"):
draw()
with plt.style.context("Solarize_Light2"):
draw()
with plt.style.context("bmh"):
draw()
with plt.style.context("dark_background"):
draw()
with plt.style.context("fast"):
draw()
with plt.style.context("ggplot"):
draw()
seaborn
是公认颜值比较高的绘图库,所以 Matplotlib
也支持很多种seaborn
风格。
这里使用的是默认的 seaborn
风格。
with plt.style.context("seaborn-v0_8"):
draw()
内置的样式表方便易用,提供了许多预定义的样式,可以快速帮助我们创建美观的图表。
使用内置的样式表还有个好处是可以保持图表的统一风格,使得图表具有更高的可读性和可维护性。
Matplotlib
提供的丰富的样式表,可以满足不同类型的绘图需求,并且还可以通过自定义样式表来实现更加个性化的绘图效果。