大多数绘图方法,如plot()和errorbar()在同一张图上绘制多个数据时会自动切换到color_palette中的下一个颜色。但不知为何,fill_between()不会这样做。我知道可以硬编码解决,但由于是在循环中进行的,所以这很麻烦。有没有什么好的方法来解决这个问题?
import numpy as np
import matplotlib.pyplot as plt
x = np.asarray([1.0, 2.0, 3.0, 4.0, 5.0])
y = np.asarray([1.0, 2.0, 3.0, 4.0, 5.0])
xerr = np.asarray([0.2, 0.4, 0.6, 0.8, 1.0])
yerr = np.asarray([0.1, 0.2, 0.3, 0.4, 0.5])
plt.fill_between(x, y-yerr, y+yerr,alpha=0.5)
plt.fill_between(y,x-xerr,x+xerr,alpha=0.5)
plt.show()
也许仅仅获取当前调色板的位置并迭代到下一个位置就足够了。