我目前正在尝试使用 matplotlibsplot_date
函数绘制多个日期图。我无法弄清楚的一件事是如何自动为每个图形分配不同的颜色(就像plot
在设置之后发生的axes.color_cycle
那样matplotlib.rcParams
)。示例代码:
import datetime as dt
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
values = xrange(1, 13)
dates = [dt.datetime(2013, i, 1, i, 0, 0, 0) for i in values]
mpl.rcParams['axes.color_cycle'] = ['r', 'g']
for i in (0, 1, 2):
nv = map(lambda k: k+i, values)
d = mdates.date2num(dates)
plt.plot_date(d, nv, ls="solid")
plt.show()
这给了我一个很好的数字,其中有 3 条线,但它们都有相同的颜色。将调用更改plot_date
为仅plot
导致 3 行红色和绿色,但不幸的是 x 轴上的标签不再有用。
所以我的问题是,有没有什么方法可以让着色工作plot_date
像刚才一样简单plot
?