การใช้งาน Python อย่างแท้จริง
ด้านล่างเป็นการใช้งานไพ ธ อนอย่างแท้จริงของฟังก์ชันที่ต้องการซึ่งจัดการกับชุดตัวเลขใด ๆ (int หรือ float) ด้วยค่าบวกลบหรือผสมและอนุญาตให้ผู้ใช้ระบุขนาดขั้นตอนที่ต้องการ:
import math
def computeTicks (x, step = 5):
"""
Computes domain with given step encompassing series x
@ params
x - Required - A list-like object of integers or floats
step - Optional - Tick frequency
"""
xMax, xMin = math.ceil(max(x)), math.floor(min(x))
dMax, dMin = xMax + abs((xMax % step) - step) + (step if (xMax % step != 0) else 0), xMin - abs((xMin % step))
return range(dMin, dMax, step)
ตัวอย่างผลลัพธ์
# Negative to Positive
series = [-2, 18, 24, 29, 43]
print(list(computeTicks(series)))
[-5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
# Negative to 0
series = [-30, -14, -10, -9, -3, 0]
print(list(computeTicks(series)))
[-30, -25, -20, -15, -10, -5, 0]
# 0 to Positive
series = [19, 23, 24, 27]
print(list(computeTicks(series)))
[15, 20, 25, 30]
# Floats
series = [1.8, 12.0, 21.2]
print(list(computeTicks(series)))
[0, 5, 10, 15, 20, 25]
# Step – 100
series = [118.3, 293.2, 768.1]
print(list(computeTicks(series, step = 100)))
[100, 200, 300, 400, 500, 600, 700, 800]
ตัวอย่างการใช้งาน
import matplotlib.pyplot as plt
x = [0,5,9,10,15]
y = [0,1,2,3,4]
plt.plot(x,y)
plt.xticks(computeTicks(x))
plt.show()
ขอให้สังเกตว่าแกน x มีค่าจำนวนเต็มเว้นระยะเท่ากันทั้งหมด 5 โดยแกน y มีช่วงเวลาที่แตกต่างกัน ( matplotlib
พฤติกรรมเริ่มต้นเนื่องจากเห็บไม่ได้ระบุไว้)