วิธีเพิ่มเส้นเฉลี่ยเพื่อลงจุดใน matplotlib


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

 import matplotlib. pyplot as plt
import numpy as np

#create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at mean value of y
plt. axhline (y=np. nanmean (df. y ))

โปรดทราบว่า axhline จะเพิ่มเส้นแนวนอนให้กับพล็อต และ nanmean จะคำนวณค่าเฉลี่ย (โดยไม่สนใจ NaN) ในตำแหน่งที่ควรวางเส้น

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

ตัวอย่าง: เพิ่มเส้นเฉลี่ยให้กับพล็อตใน Matplotlib

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' x ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                   ' y ':[2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15]})

#view first five rows of DataFrame
df. head ()

	x y
0 1 2
1 2 5
2 3 6
3 4 5
4 5 7

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างแผนภาพกระจายของ x เทียบกับ y และเพิ่มเส้นแนวนอนที่แสดงถึงค่า y เฉลี่ย:

 import matplotlib. pyplot as plt
import numpy as np

#create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at mean value of y
plt. axhline (y=np. nanmean (df. y )) 

เราจะเห็นว่ามีการเพิ่มเส้นเฉลี่ยลงในโครงเรื่องซึ่งอยู่เหนือค่า y เท่ากับ 8

หากเราคำนวณค่า y เฉลี่ย เราจะพบว่ามันคือ 8.333:

 #calculate average y-value
n.p. nanmean (df. y )

8.333333333

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

 import matplotlib. pyplot as plt
import numpy as np

#create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at mean value of y
plt. axhline (y=np. nanmean (df. y ), color=' red ', linestyle=' -- ', linewidth= 3 , label=' Avg ') 

เส้นเฉลี่ยใน Matplotlib

หมายเหตุ : คุณสามารถดูเอกสารออนไลน์ฉบับเต็มสำหรับฟังก์ชัน axhline() ได้ที่นี่

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

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

วิธีเพิ่มเส้นแนวโน้มใน Matplotlib
วิธีการวาดเส้นแนวตั้งใน Matplotlib
วิธีพล็อตหลายบรรทัดใน Matplotlib

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

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