同时使用多个图形时,更改一个 Matplotlib 图形中的样式



假设我同时有 2 个 Matplotlib 图形在 for 循环中更新。其中一个图形(假设fig0有图像,而fig1是线图(。我希望fig0拥有标准的 Matplotlib 风格,而fig1我想为fig1设置plt.style.use('ggplot')

到目前为止,我已经尝试过这个:

plt.style.use('ggplot')
fig0 = plt.figure(0)
fig1 = plt.figure(1)
for i in range(10):
# print stuff in both figures

但这在两个图中都设置了ggplot风格(正如预期的那样(。我找不到在每个图中单独设置样式的方法。

这将解决它,除了循环。

import matplotlib.pyplot as plt
with plt.style.context('ggplot'):
plt.figure(0)
plt.plot([3,2,1])
with plt.style.context('default'):
plt.figure(1)
plt.plot([1,2,3])
plt.show()

无论如何,如果没有循环,您可能会更好...只要出于某种原因,循环不是绝对必要的。只需将要添加到循环图中的任何内容保留在列表中,然后修改上面的示例即可。

最新更新