Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฉันจะพล็อตอนุกรมเวลาเว้นวรรคสองชุดบนพล็อตเดียวกันใน Python Matplotlib ได้อย่างไร


ในการพล็อตอนุกรมเวลาที่มีระยะห่างต่างกันสองชุดบนพล็อตเดียวกันโดยใช้ Matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • สร้าง x1, y1 และ x2 และ ปี2 จุดข้อมูล

  • สร้างร่างและชุดแผนย่อย

  • พล็อตข้อมูลที่มี วันที่ ด้วย (x1, y1) และ (x2, y2) จุดข้อมูล

  • ตั้งค่าตัวจัดรูปแบบหลักของ ป้ายกำกับ . แกน X .

  • หมุน xtick ป้าย 45 องศาโดยใช้ tick_params() วิธีการ

  • หากต้องการแสดงรูป ให้ใช้ แสดง() วิธีการ

ตัวอย่าง

import matplotlib.pyplot as plt
from matplotlib.dates import date2num, DateFormatter
import datetime as dt

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

x1 = [date2num(dt.datetime(2021, 1, 15, 1, 1, 1)), date2num(dt.datetime(2021, 1, 15, 9, 1, 1))]

y1 = [6, 2]

x2 = [ date2num(dt.datetime(2021, 1, 15, 2, 1, 1)),
    date2num(dt.datetime(2021, 1, 15, 4, 1, 1)),
    date2num(dt.datetime(2021, 1, 15, 6, 1, 1)),
    date2num(dt.datetime(2021, 1, 15, 8, 1, 1)),
    date2num(dt.datetime(2021, 1, 15, 10, 1, 1))
]

y2 = [3, 6, 5, 4, 1]

fig, ax = plt.subplots()

ax.plot_date(x1, y1, 'o--')
ax.plot_date(x2, y2, 'o:')

ax.xaxis.set_major_formatter(DateFormatter('%H:%M:%S'))
ax.tick_params(rotation=45)

plt.show()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

ฉันจะพล็อตอนุกรมเวลาเว้นวรรคสองชุดบนพล็อตเดียวกันใน Python Matplotlib ได้อย่างไร