วิธีเพิ่มแถบข้อผิดพลาดลงในแผนภูมิใน python


บ่อยครั้ง คุณอาจต้องการเพิ่ม แถบค่าคลาดเคลื่อนลง ในกราฟใน Python เพื่อจับความไม่แน่นอนเกี่ยวกับการวัดหรือค่าที่คำนวณได้ โชคดีที่ทำได้ง่ายโดยใช้ไลบรารี matplotlib

บทช่วยสอนนี้จะอธิบายวิธีเพิ่มแถบข้อผิดพลาดให้กับแผนภูมิแท่งและแผนภูมิเส้นใน Python

แถบข้อผิดพลาดในแผนภูมิแท่ง

สมมติว่าเรามีชุดข้อมูล 10 ค่าใน Python ต่อไปนี้:

 import numpy as np
import matplotlib.pyplot as plt

#define dataset
data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]

ในการสร้างแผนภูมิแท่งที่มีแถบค่าคลาดเคลื่อนสำหรับชุดข้อมูลนี้ เราสามารถตั้งค่าความกว้างของแถบค่าคลาดเคลื่อนเป็น ค่าคลาดเคลื่อนมาตรฐาน ซึ่งจะคำนวณ

ข้อผิดพลาดมาตรฐาน = s / √n

ทอง:

  • s: ค่าเบี่ยงเบนมาตรฐานตัวอย่าง
  • n: ขนาดตัวอย่าง

รหัสต่อไปนี้แสดงวิธีการคำนวณข้อผิดพลาดมาตรฐานสำหรับตัวอย่างนี้:

 #calculate standard error
std_error = np.std(data, ddof=1) / np.sqrt(len(data))

#view standard error
std_error

1.78

สุดท้ายนี้ เราสามารถสร้างแผนภูมิแท่งโดยใช้แถบข้อผิดพลาดที่มีความกว้างเท่ากับข้อผิดพลาดมาตรฐาน:

 #define chart 
fig, ax = plt.subplots()

#create chart
ax.bar(x=np.arange(len(data)), #x-coordinates of bars
       height=data, #height of bars
       yerr=std_error, #error bar width
       capsize=4) #length of error bar caps 

แผนภูมิแท่งพร้อมแถบข้อผิดพลาดใน Python

ข้อผิดพลาดมาตรฐานกลายเป็น 1.78 นี่คือความกว้างของแถบค่าคลาดเคลื่อนที่ขยายไปในทิศทางใดทิศทางหนึ่งจากจุดประมาณค่าบนกราฟ ตัวอย่างเช่น ค่าของแท่งแรกในแผนภูมิคือ 4 จึงมีแถบข้อผิดพลาดที่ขยายจาก:

  • ช่วงล่าง: 4 – 178 = 2.22
  • บนสุด: 4 + 1.78 = 5.78

แถบข้อผิดพลาดแต่ละแถบในแผนภูมิมีความกว้างเท่ากัน

แถบข้อผิดพลาดในแผนภูมิเส้น

รหัสต่อไปนี้แสดงวิธีการสร้างแผนภูมิเส้นที่มีแถบค่าคลาดเคลื่อนสำหรับชุดข้อมูลเดียวกัน:

 import numpy as np
import matplotlib.pyplot as plt

#define data
data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]

#define x and y coordinates
x = np.arange(len(data))
y = data

#create line chart with error bars
fig, ax = plt.subplots()

ax.errorbar(x, y,
            yerr=std_error,
            capsize=4) 

แผนภูมิเส้นพร้อมแถบข้อผิดพลาดใน Python

โปรดทราบว่าอาร์กิวเมนต์ yerr บอกให้ Python สร้างแถบข้อผิดพลาดแนวตั้ง เราสามารถใช้แถบแนวตั้งแนวนอนแทนโดยใช้อาร์กิวเมนต์ xerr :

 #create line chart with horizontal error bars
fig, ax = plt.subplots()

ax.errorbar(x, y,
            xerr =std_error,
            capsize=4) 

แถบข้อผิดพลาดในแผนภูมิ Python

คุณสามารถค้นหาบทช่วยสอน Python เพิ่มเติมได้ ที่นี่

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

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