วิธีสร้างแผนการกระจายใน matplotlib
มีสองวิธีทั่วไปในการสร้างไดอะแกรมการกระจายใน Python:
วิธีที่ 1: สร้างฮิสโตแกรมโดยใช้ Matplotlib
import matplotlib. pyplot as plt
plt. hist (data, color=' lightgreen ', ec=' black ', bins= 15 )
โปรดทราบว่า สี จะควบคุมสีเติมของแท่ง ec ควบคุมสีของขอบแท่ง และ ช่อง จะควบคุมจำนวนช่องในฮิสโตแกรม
วิธีที่ 2: สร้างฮิสโตแกรมด้วยเส้นโค้งความหนาแน่นโดยใช้ Seaborn
import seaborn as sns
sns. displot (data, kde= True , bins= 15 )
โปรดทราบว่า kde=True ระบุว่าควรวางเส้นโค้งความหนาแน่นไว้บนฮิสโตแกรม
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีในทางปฏิบัติเพื่อแสดงภาพการแจกแจงค่าในอาร์เรย์ NumPy ต่อไปนี้:
import numpy as np
#make this example reproducible.
n.p. random . seed ( 1 )
#create numpy array with 1000 values that follows normal dist with mean=10 and sd=2
data = np. random . normal (size= 1000 , loc= 10 , scale= 2 )
#view first five values
data[: 5 ]
array([13.24869073, 8.77648717, 8.9436565, 7.85406276, 11.73081526])
ตัวอย่างที่ 1: สร้างฮิสโตแกรมโดยใช้ Matplotlib
เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างฮิสโตแกรมใน Matplotlib เพื่อแสดงภาพการกระจายของค่าในอาร์เรย์ NumPy:
import matplotlib. pyplot as plt
#create histogram
plt. hist (data, color=' lightgreen ', ec=' black ', bins= 15 )
แกน x จะแสดงค่าจากอาร์เรย์ NumPy และแกน y จะแสดงความถี่ของค่าเหล่านี้
โปรดทราบว่ายิ่งคุณใช้ค่าสำหรับอาร์กิวเมนต์ bins มากเท่าใด แถบในฮิสโตแกรมก็จะยิ่งมากขึ้นเท่านั้น
ตัวอย่างที่ 2: สร้างฮิสโตแกรมด้วยเส้นโค้งความหนาแน่นโดยใช้ Seaborn
เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างฮิสโตแกรมที่มี เส้นโค้งความหนาแน่น ซ้อนทับโดยใช้ไลบรารีการแสดงภาพข้อมูลในทะเล:
import seaborn as sns
#create histogram with density curve overlaid
sns. displot (data, kde= True , bins= 15 )
ผลลัพธ์ที่ได้คือฮิสโตแกรมที่มีการซ้อนทับเส้นโค้งความหนาแน่น
ข้อดีของการใช้เส้นโค้งความหนาแน่นคือสามารถสรุปรูปร่างของการกระจายโดยใช้เส้นโค้งต่อเนื่องเส้นเดียว
หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน seaborn displot() ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีสร้างแผนภูมิทั่วไปอื่นๆ ใน Python:
วิธีสร้างแผนภูมิแท่งแบบเรียงซ้อนใน Matplotlib
วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน Matplotlib
วิธีสร้าง barplot แนวนอนใน Seaborn