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

วิธีวาดเส้นแนวโน้ม (Trend Line) สำหรับกราฟกระจายใน Matplotlib


ใช้เมธอด polyfit() และ poly1d() ของ numpy เพื่อหาจุดข้อมูลของเส้นแนวโน้ม

ขั้นตอนการทำงาน

  • กำหนดขนาดรูปภาพและปรับระยะห่างระหว่างและรอบๆ subplots
  • สร้างข้อมูล x และ y ด้วย numpy
  • สร้าง figure และชุด subplots
  • พล็อตจุดข้อมูล x และ y
  • หาข้อมูลเส้นแนวโน้มด้วย polyfit() และ poly1d()
  • พล็อต x และ p(x) ด้วยเมธอด plot()
  • ใช้เมธอด show() เพื่อแสดงรูปภาพ

ตัวอย่างโค้ด

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.random.rand(100)
y = np.random.rand(100)
fig, ax = plt.subplots()
_ = ax.scatter(x, y, c=x, cmap='plasma')
z = np.polyfit(x, y, 1)
p = np.poly1d(z)
plt.plot(x, p(x), "r-o")
plt.show()

ผลลัพธ์

วิธีวาดเส้นแนวโน้ม (Trend Line) สำหรับกราฟกระจายใน Matplotlib