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

Làm thế nào để vẽ hai chuỗi thời gian Gấu trúc trên cùng một cốt truyện với các truyền thuyết và trục Y phụ trong Matplotlib?

Để vẽ hai chuỗi thời gian Gấu trúc trên cùng một ô với truyền thuyết và trục Y phụ, 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 ô con.

  • Tạo ndarray một chiều với các nhãn trục (bao gồm cả chuỗi thời gian).

  • Tạo khung dữ liệu với một số danh sách cột.

  • Vẽ các cột A B sử dụng khung dữ liệu plot () phương pháp.

  • Trả lại các chốt và nhãn cho chú giải bằng cách sử dụng get_legend_handles_labels () phương pháp.

  • Đặt chú giải trên hình bằng cách sử dụng chú giải () phương pháp.

  • Để 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
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()

Đầu ra

Làm thế nào để vẽ hai chuỗi thời gian Gấu trúc trên cùng một cốt truyện với các truyền thuyết và trục Y phụ trong Matplotlib?