使用matplotlib.pyplot.plot_date绘制多个数据集
这个问题对大多数使用matplotlib的人来说可能很简单。请帮帮我。我想在同一个图表中绘制两个数组,比如[1,2,3,4]和[4,5,6,7],并且是相对于时间的。我尝试使用matplotlib.pyplot.plot_date,但不知道该怎么做。对我来说,似乎在一个图表中只能用plot_date绘制一个趋势。
提前谢谢你们!
1 个回答
13
如果你想在图表上显示多个趋势,最简单的方法就是多次调用绘图函数。比如说:
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
# Generate Data
time = mdates.drange(datetime.datetime(2010, 1, 1),
datetime.datetime(2011, 1, 1),
datetime.timedelta(days=10))
y1 = np.cumsum(np.random.random(time.size) - 0.5)
y2 = np.cumsum(np.random.random(time.size) - 0.5)
# Plot things...
fig = plt.figure()
plt.plot_date(time, y1, 'b-')
plt.plot_date(time, y2, 'g-')
fig.autofmt_xdate()
plt.show()
另外,你也可以只用一次 plot
(而不是 plot_date
)来绘图,然后再调用 plt.gca().xaxis_date()
,如果你更喜欢这样的话。其实 plot_date
只是调用了 plot
,然后再调用 ax.xaxis_date()
。