Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm soát độ rộng cột (bar width) theo dữ liệu tháng trong Matplotlib

Để độ rộng cột bar chart phản ánh đúng khoảng cách thời gian thực (ví dụ: số ngày giữa các tháng), tính width động từ chênh lệch datetime.

Các bước

  • Thiết lập figure size và autolayout.
  • Tạo danh sách datetime x và giá trị y.
  • Vẽ bar với width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30] (tháng cuối ước lượng 30 ngày).
  • Hiển thị bằng show().

Ví dụ

import numpy as np
import datetime
from matplotlib import pyplot as plt

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

x = [datetime.datetime(2021, 1, 1, 0, 0), datetime.datetime(2021, 2, 1, 0, 0), datetime.datetime(2021, 3, 1, 0, 0)]
y = np.cos(np.arange(3) * 2)
plt.bar(x, y, width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30])
plt.show()

Kết quả

Kiểm soát độ rộng cột (bar width) theo dữ liệu tháng trong Matplotlib