Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh memformat paksi datetime dalam matplotlib untuk menunjukkan tahun dan bulan sahaja?

Bagaimanakah saya boleh memformat paksi datetime dalam matplotlib untuk menunjukkan tahun dan bulan sahaja?

DDD
DDDasal
2024-10-27 18:46:30121semak imbas

How can I format a datetime axis in matplotlib to show only year and month?

Melaraskan Format Paksi Masa Tarikh

Dalam senario di mana anda mempunyai siri dengan indeks masa tarikh yang ingin anda gambarkan, anda mungkin menghadapi situasi di mana graf memaparkan cap masa termasuk jam, minit dan saat walaupun anda memilih format yang lebih ringkas seperti "yyyy-mm" atau "2016 Mac."

Untuk menangani isu ini dan mencapai pemformatan yang diingini, kami boleh memanfaatkan fungsi disediakan oleh matplotlib. Khususnya, paksi datetime boleh disesuaikan menggunakan pemformat. Pemformat ini membolehkan anda menentukan cara label tanda pada paksi-x harus dipaparkan.

Berikut ialah contoh yang menunjukkan penggunaan pemformat:

<code class="python">import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# Sample data with hourly timestamps
N = 30
drange = pd.date_range("2014-01", periods=N, freq="H")
np.random.seed(365)
values = {'values':np.random.randint(1,20,size=N)}
df = pd.DataFrame(values, index=drange)

# Create a plot with incorrect formatting
fig, ax = plt.subplots()
ax.plot(df.index, df.values)
ax.set_xticks(df.index)

# Use formatters to achieve the desired formatting
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
ax.xaxis.set_minor_formatter(mdates.DateFormatter("%Y-%m"))
plt.xticks(rotation=90)

# Display the updated plot with the desired formatting
plt.show()</code>

Dalam contoh ini, kita mula-mula buat sampel DataFrame dengan cap waktu setiap jam. Kami kemudian menggunakan DateFormatter daripada matplotlib.dates untuk menyatakan bahawa label tanda pada paksi-x hendaklah dalam format "%Y-%m", yang mewakili tahun dan bulan sahaja. Akhir sekali, kami memanggil xticks untuk memutarkan label tanda untuk kebolehbacaan yang lebih baik.

Dengan melaksanakan pendekatan ini, anda boleh menyesuaikan format paksi waktu tarikh anda dengan berkesan, memastikan ia sejajar dengan keperluan paparan yang anda inginkan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memformat paksi datetime dalam matplotlib untuk menunjukkan tahun dan bulan sahaja?. 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