比方说,我同时有2个Matplotlib图形,这些图形在for循环中进行了更新。其中一张图(假设fig0
有图像,而fig1
是线图)。我希望fig0
拥有标准的Matplotlib样式,而在fig1
中,我想为plt.style.use('ggplot')
设置fig1
。
到目前为止,我已经尝试过:
plt.style.use('ggplot')
fig0 = plt.figure(0)
fig1 = plt.figure(1)
for i in range(10):
# print stuff in both figures
但这在两个图中都设置了ggplot
样式(如预期)。我找不到在每个图中分别设置样式的方法。
答案 0 :(得分:1)
这可以解决它,除了循环。
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()
如果没有循环,您可能会更好……只要出于某种原因,循环不是绝对必要的。只需将要添加到绘图中的所有内容保留在列表中的循环中,然后修改上面的示例即可。