我有一个问题:我如何在matplotlib中使用默认样式(因为我喜欢它),但只更改单个参数?这里有一个例子:
使用默认的matplotlib样式或“经典”样式,我可以通过更新rcParams全局更改字体大小。
很像
import matplotlib.pyplot as plt
plt.style.use('classic')
plt.rcParams.update({'font.size': 18.0})
x = [0, 1, 2, 3]
y = [0, 1, 4, 9]
fig, ax0 = plt.subplots()
ax0.plot(x, y)
ax0.set_xlabel('data x')
ax0.set_ylabel('data y')
plt.show()
如果我在开始时选择不同的默认样式:
import matplotlib.pyplot as plt
plt.style.use('seaborn')
plt.rcParams.update({'font.size': 18.0})
x = [0, 1, 2, 3]
y = [0, 1, 4, 9]
fig, ax0 = plt.subplots()
ax0.plot(x, y)
ax0.set_xlabel('data x')
ax0.set_ylabel('data y')
plt.show()
字体大小仍保持默认值,但实际情况并非如此;
plt.rcParams.update({'font.size': 18.0})
很像
font.size
这一行不存在。
现在一个简单的解决方案是定义一个特定字号的全局变量,并手动将其添加到绘图中的每个元素中,但这对我来说听起来不太聪明。是否有其他想法来全局修改字体大小?它是否实际上是可能的,还是我只需要处理它并创建自己的matplotlib风格文件?
编辑:
经过仔细思考后,遵循DavidG的评论,我尝试使用不同的样式:ggplot、fivethirtyeight甚至seaborn-dark,我的代码可以正常工作(如我所期望的)。因此问题仅与seaborn样式相关(我可能选择得太倒霉了)...
seaborn
风格;同样,使用ggplot
风格也不必安装ggplot。这些风格完全是写在它们所引用的单个.mplstyle文件中的。 - ImportanceOfBeingErnest