วิธีเพิ่มเส้นแนวโน้มใน matplotlib (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเพิ่มเส้นแนวโน้มให้กับพล็อตใน Matplotlib:

 #create scatterplot
plt. scatter (x,y)

#calculate equation for trendline
z = np. polyfit (x, y, 1)
p = np. poly1d (z)

#add trendline to plot
plt. plot (x, p(x))

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: สร้างเส้นแนวโน้มเชิงเส้นใน Matplotlib

รหัสต่อไปนี้แสดงวิธีสร้างเส้นแนวโน้มพื้นฐานสำหรับ Scatterplot ใน Matplotlib:

 import numpy as np
import matplotlib. pyplot as plt

#define data
x = np. array ([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np. array ([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])

#create scatterplot
plt. scatter (x,y)

#calculate equation for trendline
z = np. polyfit (x, y, 1 )
p = np. poly1d (z)

#add trendline to plot
plt. plot (x, p(x)) 

จุดสีน้ำเงินแสดงถึงจุดข้อมูล และเส้นสีน้ำเงินตรงแสดงถึงเส้นแนวโน้มเชิงเส้น

โปรดทราบว่าคุณยังสามารถใช้อาร์กิวเมนต์ color , linewidth และ linestyle เพื่อเปลี่ยนลักษณะของเส้นแนวโน้มได้:

 #add custom trendline to plot
plt. plot (x, p(x), color=" purple ", linewidth= 3 , linestyle=" -- ")

ตัวอย่างที่ 2: สร้างเส้นแนวโน้มพหุนามใน Matplotlib

หากต้องการสร้างเส้นแนวโน้มพหุนาม เพียงเปลี่ยนค่าในฟังก์ชัน np.polyfit()

ตัวอย่างเช่น เราสามารถใช้ค่า 2 เพื่อสร้างเส้นแนวโน้มกำลังสอง:

 import numpy as np
import matplotlib. pyplot as plt

#define data
x = np. array ([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np. array ([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])

#create scatterplot
plt. scatter (x,y)

#calculate equation for quadratic trendline
z = np. polyfit (x,y, 2 )
p = np. poly1d (z)

#add trendline to plot
plt. plot (x, p(x)) 

โปรดทราบว่าตอนนี้เส้นแนวโน้มเป็นแบบโค้งแทนที่จะเป็นเส้นตรง

เส้นแนวโน้มพหุนามนี้มีประโยชน์อย่างยิ่งเมื่อข้อมูลของคุณมีรูปแบบที่ไม่เป็นเชิงเส้น และเส้นตรงไม่สามารถจับแนวโน้มของข้อมูลได้อย่างเพียงพอ

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่นๆ ใน Matplotlib:

วิธีซ่อนแกนใน Matplotlib
วิธีหมุนป้ายกำกับเครื่องหมายถูกใน Matplotlib
วิธีเปลี่ยนจำนวนเห็บใน Matplotlib

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *