Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memformat Paksi Datetime dalam Matplotlib untuk Kebolehbacaan yang Lebih Baik?

Bagaimana untuk Memformat Paksi Datetime dalam Matplotlib untuk Kebolehbacaan yang Lebih Baik?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 15:39:30680semak imbas

How to Format a Datetime Axis in Matplotlib for Better Readability?

Memformatkan Paksi Masa Tarikh

Apabila merancang Siri dengan indeks masa tarikh, paksi-x mungkin memaparkan jam, minit dan saat sepanjang dengan tahun dan bulan. Untuk memudahkan kebolehbacaan graf, adalah mungkin untuk mengalih keluar maklumat masa yang berlebihan ini.

Pertimbangkan contoh Siri:

2014-01-01     7
2014-02-01     8
2014-03-01     9
2014-04-01     8

Memplot Siri ini pada mulanya akan memaparkan graf dengan paksi-x yang sesak .

import matplotlib.pyplot as plt
import pandas as pd

series = pd.Series([7, 8, 9, 8], index=pd.date_range('2014-01', periods=4, freq='MS'))
plt.plot(series.index, series.values)
plt.show()

Untuk menyelesaikan isu ini, pemformat Matplotlib boleh digunakan untuk mengawal format paparan tanda paksi-x.

import numpy as np
import matplotlib.dates as mdates

# generate data
N = 30
drange = pd.date_range("2014-01", periods=N, freq="MS")
np.random.seed(365)  # for reproducible values
values = {'values':np.random.randint(1,20,size=N)}
df = pd.DataFrame(values, index=drange)

# plot
fig, ax = plt.subplots()
ax.plot(df.index, df.values)

# set tick formatters
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
ax.xaxis.set_minor_formatter(mdates.DateFormatter("%Y-%m"))
plt.xticks(rotation=90)
plt.show()

Dengan menyatakan "%Y-%m " rentetan format, label paksi-x kini memaparkan tahun dan bulan dalam format yang dipermudahkan.

Atas ialah kandungan terperinci Bagaimana untuk Memformat Paksi Datetime dalam Matplotlib untuk Kebolehbacaan yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn