使用matplotlib.pyplot.plot_date绘制多个数据集

时间:2011-09-07 21:08:13

标签: python numpy matplotlib scipy

对于大多数使用matplotlib的人来说,这可能是一个简单的问题。请帮帮我。我想在同一个图中绘制两个像[1,2,3,4]和[4,5,6,7]这样的数组。我试图使用matplotlib.pyplot.plot_date,但无法弄清楚如何做到这一点。在我看来,在一个图中只能用plot_date绘制一个趋势。

提前谢谢

1 个答案:

答案 0 :(得分:11)

要使用具有多种趋势的绘图日期,最简单的方法是多次调用它。例如:

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()

enter image description here

或者,如果您愿意,可以使用单个plot(而非plot_date)来电,然后拨打plt.gca().xaxis_date()plot_date只需拨打plot,然后拨打ax.xaxis_date()