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

จะพล็อตอนุกรมเวลาของ Pandas สองชุดในพล็อตเดียวกันกับตำนานและแกน Y รองใน Matplotlib ได้อย่างไร


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

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

  • สร้าง ndarray . แบบมิติเดียว พร้อมป้ายแกน (รวมอนุกรมเวลา)

  • สร้าง dataframe ด้วยรายการคอลัมน์

  • พล็อตคอลัมน์ A และ โดยใช้ dataframe plot() วิธีการ

  • ส่งคืนแฮนเดิลและป้ายกำกับสำหรับคำอธิบายแผนภูมิโดยใช้ get_legend_handles_labels() วิธีการ

  • วางตำนานบนร่างโดยใช้ legend() วิธีการ

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

ตัวอย่าง

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np

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

ts = pd.Series(np.random.randn(10), index=pd.date_range('2021-04-10', periods=10))

df = pd.DataFrame(np.random.randn(10, 4), index=ts.index, columns=list('ABCD'))

ax1 = df.A.plot(color='red', label='Count')
ax2 = df.B.plot(color='yellow', secondary_y=True, label='Sum')

h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()

plt.legend(h1+h2, l1+l2, loc=2)

plt.show()

ผลลัพธ์

จะพล็อตอนุกรมเวลาของ Pandas สองชุดในพล็อตเดียวกันกับตำนานและแกน Y รองใน Matplotlib ได้อย่างไร