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

Làm thế nào để thay đổi tần suất nhãn đánh dấu ngày giờ cho các lô Matplotlib?

Để thay đổi tần suất nhãn đánh dấu ngày giờ cho các biểu đồ Matplotlib, chúng ta có thể tạo khung dữ liệu và vẽ biểu đồ chúng trong một số phạm vi ngày

Các bước

  • Đặ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 dữ liệu dạng bảng có khả năng không đồng nhất, hãy sử dụng khung dữ liệu Pandas.
  • Vẽ đồ thị khung dữ liệu bằng cách sử dụng plot () phương pháp.
  • Đặt công cụ định vị chính trục X, tức là dấu tích.
  • Đặt bộ định dạng chính trục X, tức là đánh dấu nhãn.
  • Sử dụng autofmt_xdate () . Các nhãn đánh dấu ngày thường trùng lặp, vì vậy sẽ rất hữu ích nếu bạn xoay chúng và căn chỉnh chúng đúng cách.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

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

index = pd.date_range(start="2020-07-01", end="2021-01-01", freq="D")
index = [pd.to_datetime(date, format='%Y-%m-%d').date() for date in index]

data = np.random.randint(1, 100, size=len(index))

df = pd.DataFrame(data=data, index=index, columns=['data'])

ax = df.plot()
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))

plt.gcf().autofmt_xdate()

plt.show()

Đầu ra

Làm thế nào để thay đổi tần suất nhãn đánh dấu ngày giờ cho các lô Matplotlib?