我目前正在尝试使用 matplotlib 绘制多个数据图plot_date
功能。我无法弄清楚的一件事是如何自动为每个图表分配不同的颜色(就像发生的那样)plot
设置后axes.color_cycle
in 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
?
From 这个讨论在GitHub https://github.com/matplotlib/matplotlib/issues/2148解决这个问题的一个好方法是:
ax.plot_date(d, nv, ls='solid', fmt='')
正如@tcaswell 所解释的,这个函数集fmt='bo'
默认情况下,用户可以通过传递参数来覆盖它fmt
打电话时plot_date()
.
这样做,结果将是:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)