Matplotlib - เลื่อนป้าย X-Axis ลง แต่ไม่ใช่ X-Axis Ticks


110

ฉันใช้ Matplotlib เพื่อพล็อตฮิสโตแกรม ใช้เคล็ดลับจากคำถามก่อนหน้าของฉัน: Matplotlib - ติดป้ายกำกับแต่ละถังฉันมีข้อผิดพลาดมากขึ้นหรือน้อยลง

มีปัญหาสุดท้ายอย่างหนึ่ง - ก่อนหน้านี้ - ป้ายกำกับแกน x ("เวลา (ในหน่วยมิลลิวินาที)") กำลังแสดงผลอยู่ใต้เครื่องหมายถูกแกน x (0.00, 0.04, 0.08, 0.12 เป็นต้น)

ไม่มีช่องว่างภายใน - ป้ายแกนด้านล่างตัวเลข

โดยใช้คำแนะนำจาก Joe Kingston (ดูคำถามด้านบน) ฉันลองใช้:

ax.tick_params(axis='x', pad=30)

อย่างไรก็ตามสิ่งนี้จะย้ายทั้งเครื่องหมายขีดแกน x (0.00, 0.04, 0.08, 0.12 เป็นต้น) รวมถึงป้ายชื่อแกน x ("เวลา (ในหน่วยมิลลิวินาที)"):

30 Padding - ย้ายทั้งป้ายแกนและเครื่องหมายถูกแล้ว

มีวิธีใดบ้างที่จะย้ายเฉพาะป้ายแกน x ไปที่ด้านล่างของตัวเลขสามแถว

Nb: คุณอาจต้องเปิด PNG ด้านล่างโดยตรง - คลิกขวาที่ภาพจากนั้นดูภาพ (ใน FF) หรือเปิดภาพในแท็บใหม่ (Chrome) การปรับขนาดภาพที่ทำโดย SO ทำให้ไม่สามารถอ่านได้

คำตอบ:



13

หากตัวแปร ax.xaxis._autolabelpos = True matplotlib จะตั้งค่าตำแหน่งป้ายในฟังก์ชัน _update_label_position ใน axis.py ตาม (ข้อความที่ตัดตอนมาบางส่วน):

    bboxes, bboxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
    bbox = mtransforms.Bbox.union(bboxes)
    bottom = bbox.y0
    x, y = self.label.get_position()
    self.label.set_position((x, bottom - self.labelpad * self.figure.dpi / 72.0))

คุณสามารถกำหนดตำแหน่งฉลากโดยไม่ขึ้นกับเห็บได้โดยใช้:

    ax.xaxis.set_label_coords(x0, y0)

ที่ตั้งค่า _autolabelpos เป็น False หรือตามที่กล่าวไว้ข้างต้นโดยการเปลี่ยนพารามิเตอร์ labelpad

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.