Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การจัดกึ่งกลางป้ายกำกับ x-tick ระหว่างเครื่องหมายถูกใน Matplotlib


ในการวางป้ายกำกับระหว่างสองขีด เราสามารถทำตามขั้นตอนต่อไปนี้:

  • โหลดข้อมูลตัวอย่าง r.
  • สร้างสำเนาของอาร์เรย์ ส่งไปยังประเภทที่ระบุ
  • สร้างร่างและชุดแผนย่อยโดยใช้ แผนย่อย() วิธีการ
  • พล็อตวันที่และข้อมูลตัวอย่าง
  • ตั้งค่าตัวระบุตำแหน่งของทิกเกอร์หลัก/รองโดยใช้ set_major_locator() และ set_minor_locator() วิธีการ
  • ตั้งค่าตัวระบุตำแหน่งของตัวจัดรูปแบบหลัก/รองโดยใช้ set_major_locator() และ set_minor_formatter() วิธีการ
  • ตอนนี้ วาง ticklabel ไว้ตรงกลาง
  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

import numpy as np
import matplotlib.cbook as cbook
import matplotlib.dates as dates
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
with cbook.get_sample_data('aapl.npz') as fh:
   r = np.load(fh)['price_data'].view(np.recarray)
r = r[-250:]
date = r.date.astype('O')
fig, ax = plt.subplots()
ax.plot(date, r.adj_close)
ax.xaxis.set_major_locator(dates.MonthLocator())
ax.xaxis.set_minor_locator(dates.MonthLocator(bymonthday=15))
ax.xaxis.set_major_formatter(ticker.NullFormatter())
ax.xaxis.set_minor_formatter(dates.DateFormatter('%b'))
for tick in ax.xaxis.get_minor_ticks():
   tick.tick1line.set_markersize(0)
   tick.tick2line.set_markersize(0)
   tick.label1.set_horizontalalignment('center')
imid = len(r) // 2
ax.set_xlabel(str(date[imid].year))
plt.show()

ผลลัพธ์

การจัดกึ่งกลางป้ายกำกับ x-tick ระหว่างเครื่องหมายถูกใน Matplotlib