如果 X 轴是 Pandas 的日期时间索引,如何绘制多色线?

如果 X 轴是 Pandas 的日期时间索引,要绘制多色线,我们可以采取以下步骤 -

  • 设置图形大小并调整子图之间和周围的填充。

  • 使用 numpy 创建 d、y 和 s 数据点。

  • 创建一个图形和一组子图。

  • 使用 numpy 获取 xval、p 和 s 数据点。

  • 获取带有热颜色图和 s 个数据点的线集合实例。

  • 设置长轴和短轴定位器并设置轴格式化程序。

  • 使用数据限制自动缩放视图限制。

  • 要显示图形,请使用show()方法。

示例

import pandas as pd

from matplotlib import pyplot as plt, dates as mdates, collections as c

import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]

plt.rcParams["figure.autolayout"] = True

d = pd.date_range("2021-01-01", "2021-06-01", freq="7D")

y = np.cumsum(np.random.normal(size=len(d)))

s = pd.Series(y, index=d)

fig, ax = plt.subplots()

xval = mdates.date2num(s.index.to_pydatetime())

p = np.array([xval, s.values]).T.reshape(-1, 1, 2)

s = np.concatenate([p[:-1], p[1:]], axis=1)

lc = c.LineCollection(s, cmap="hot")

lc.set_array(xval)

ax.add_collection(lc)

ax.xaxis.set_major_locator(mdates.MonthLocator())

ax.xaxis.set_minor_locator(mdates.DayLocator())

m = mdates.DateFormatter("%b")

ax.xaxis.set_major_formatter(m)

ax.autoscale_view()

plt.show()

输出结果

它将产生以下输出

以上是 如果 X 轴是 Pandas 的日期时间索引,如何绘制多色线? 的全部内容, 来源链接: utcz.com/z/363101.html

回到顶部