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

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

要绘制X轴为Pandas日期时间索引的多颜色线,我们可以采取以下步骤 –

  • 设置图形大小并调整子图之间和周围的填充。
  • 使用numpy创建d、y和s数据点。
  • 创建一个图形和一组子图。
  • 使用numpy获取xval、p和s数据点。
  • 使用热色图和s数据点获取线集合实例。
  • 设置主要和次要轴定位器并设置轴格式化程序。
  • 使用数据限制自动调整视图限制。
  • 要显示图形,请使用 显示() 方法。

示例

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的日期时间索引,如何绘制多颜色线?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程