擅长:python、mysql、java
<p>默认情况下<code>fill_between</code>不应推进颜色循环器。因此,直接在相应的<code>plot</code>之后绘制相应的<code>fill_between</code>应该使它们具有相同的颜色。你知道吗</p>
<pre><code>import numpy as np; np.random.seed(1)
import matplotlib.pyplot as plt
x = np.linspace(0,2, 23)
data = np.fliplr(np.cumsum(np.cumsum(np.random.normal(size=(len(x),9)), axis=0)+3, axis=1))
for i in range(3,9):
plt.plot(x,data[:,i], "-")
plt.fill_between(x,data[:,i])
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/VzFRs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VzFRs.png" alt="enter image description here"/></a></p>
<p>请注意,实际上并不需要<code>plot</code>函数。去掉它也会得到相同的结果。<a href="https://i.stack.imgur.com/C6jgg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/C6jgg.png" alt="enter image description here"/></a></p>
<p><em>虽然我不知道为什么这样做,但是如果<code>fill_between</code>不推进颜色循环器,;-</em></p>