Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để vẽ đường nhiều màu nếu trục X là chỉ số ngày giờ của Gấu trúc?

Để vẽ đường nhiều màu nếu trục X là chỉ số ngày giờ của Gấu trúc, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Tạo các điểm dữ liệu d, y và s bằng cách sử dụng numpy.
  • Tạo một hình và một tập hợp các tình huống phụ.
  • Nhận điểm dữ liệu xval, p và s bằng cách sử dụng numpy.
  • Nhận phiên bản thu thập dòng với các điểm dữ liệu và bản đồ màu nóng.
  • Đặt công cụ định vị trục chính và trục phụ và đặt bộ định dạng trục.
  • Tự động chỉnh tỷ lệ các giới hạn chế độ xem bằng cách sử dụng các giới hạn dữ liệu.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

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

Đầu ra

Nó sẽ tạo ra kết quả sau

Làm cách nào để vẽ đường nhiều màu nếu trục X là chỉ số ngày giờ của Gấu trúc? Làm cách nào để vẽ đường nhiều màu nếu trục X là chỉ số ngày giờ của Gấu trúc?