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

Siv*_*nam 7 python numpy matplotlib scipy

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

先感谢您

Joe*_*ton 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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

或者,如果您愿意,可以使用单个plot(而不是plot_date)呼叫然后呼叫plt.gca().xaxis_date().plot_date只是打电话plot然后ax.xaxis_date().