ในการตั้งค่า xticklabels สำหรับวันที่ใน matplotlib สามารถทำตามขั้นตอนดังนี้:
ขั้นตอน
ตั้งค่าขนาดรูปและปรับ padding ระหว่างและรอบ subplots
สร้างรายการ epochs และ values สองรายการ
ได้รายการวันที่จาก epochs
สร้าง figure และชุด subplots
วาดวันที่และ values ด้วยเมธอด plot()
ตั้งค่า xticklabels ได้ date formatter และตั้ง major formatter
ป้องกันทับซ้อน ticklabels หมุน 10 องศา
แสดงรูปด้วยเมธอด show()
ตัวอย่าง
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import time
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
epochs = [1259969793926, 1259969793927, 1259969793929, 1259969793928, 1259969793939]
values = [-0.5, -0.5, -0.75, -0.5, -1.25]
dates = [time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(date)) for date in epochs]
fig, axes = plt.subplots(1, 1)
line1, = axes.plot(dates, values, lw=2, marker='*', color='r')
axes.set_xticklabels(dates)
fmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')
axes.xaxis.set_major_formatter(fmt)
axes.tick_params(rotation=10)
plt.show()
ผลลัพธ์
จะแสดงกราฟเส้น 5 จุด วันที่บนแกน X หมุน 10 องศา ป้องกันทับซ้อน
