ขอบเขตแกน ขีดแบ่ง และสเกลลอการิทึม
กำหนดขอบเขตแกน เลือกตำแหน่งและป้ายของขีดแบ่ง และเปลี่ยนเป็นสเกลลอการิทึมด้วย set_yscale
บทนำ
Matplotlib เลือกขอบเขตแกนและขีดแบ่งให้เอง แต่หลายครั้งคุณรู้ดีกว่า set_xlim และ set_ylim เลือกช่วงที่แสดง set_xticks เลือกตำแหน่งขีดแบ่งและข้อความ ส่วน set_yscale("log") ทำให้การเติบโตแบบเพิ่มเป็นสองเท่ากลายเป็นเส้นตรง
จำนวนผู้ใช้เพิ่มเป็นสองเท่าทุกสัปดาห์ บนแกนปกติ สัปดาห์แรก ๆ จึงดูแบนแล้วพุ่งขึ้นในช่วงท้าย บนสเกลลอการิทึม ทุกครั้งที่เพิ่มสองเท่าจะสูงขึ้นเท่ากัน เส้นจึงตรงและอ่านได้ทุกสัปดาห์ set_xticks(x, labels) วางขีดแบ่งทุกสัปดาห์พร้อมชื่อ W1, W2 ฯลฯ ส่วน set_xlim เว้นที่ว่างเล็กน้อยที่ปลายทั้งสองข้าง
ตัวแสดงภาพแบบโต้ตอบ
เปิดปิดสเกลลอการิทึม บนแกนปกติ สัปดาห์แรก ๆ จะจมอยู่ใกล้ศูนย์ แต่บนสเกลลอการิทึม ทุกครั้งที่เพิ่มเป็นสองเท่าจะสูงขึ้นเท่ากัน
ตัวอย่าง Matplotlib ที่รันได้
Matplotlib
main.py
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1, 11)
users = 50 * 2.0 ** x
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(x, users, marker="o")
ax.set_yscale("log")
ax.set_xlim(0.5, 10.5)
ax.set_xticks(x, [f"W{i}" for i in x])
ax.set_xlabel("Week")
ax.set_ylabel("Users (log scale)")
ax.set_title("Users double every week")
plt.show()
