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

Python Pandas - สร้าง Bar Plot และจัดสไตล์แท่งด้วย Seaborn

Seaborn ให้ฟังก์ชัน barplot() สำหรับสร้างกราฟแท่งพร้อมจัดสไตล์ลักษณะแท่ง (styling bars) ผ่านพารามิเตอร์ facecolor (สีพื้น), edgecolor (สีขอบ), และ linewidth (ความหนาขอบ)

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

1. นำเข้าไลบรารี

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

2. โหลดข้อมูล Cricketers2.csv

dataFrame = pd.read_csv(r"C:\Users\amit_\Desktop\Cricketers2.csv")

3. วาด Bar Plot และจัดสไตล์แท่ง

sns.barplot(
    x=dataFrame["Role"],
    y=dataFrame["Matches"],
    facecolor=(1, 1, 0, 0),      # สีพื้น: สีเหลือง โปร่งใส (RGBA)
    linewidth=4,                 # ความหนาขอบ
    edgecolor=sns.color_palette("dark", 2)  # สีขอบจาก palette
)

โค้ดตัวอย่างสมบูรณ์

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# โหลดข้อมูล
dataFrame = pd.read_csv(r"C:\Users\amit_\Desktop\Cricketers2.csv")

# วาด Bar Plot จัดสไตล์แท่ง
sns.barplot(
    x=dataFrame["Role"],
    y=dataFrame["Matches"],
    facecolor=(1, 1, 0, 0),      # RGBA: Yellow, transparent
    linewidth=4,
    edgecolor=sns.color_palette("dark", 2)
)

# แสดงกราฟ
plt.show()

ผลลัพธ์

กราฟแท่งแสดงจำนวนแมตช์เฉลี่ย (Matches) จัดกลุ่มตามตำแหน่ง (Role) แท่งมีขอบสีเข้ม กว้าง 4px พื้นโปร่งใส สีขอบมาจาก palette "dark"

Python Pandas - สร้าง Bar Plot และจัดสไตล์แท่งด้วย Seaborn

คำอธิบายพารามิเตอร์สไตล์

พารามิเตอร์คำอธิบายตัวอย่าง
facecolorสีพื้นแท่ง (fill color)(1, 0, 0, 0.5) = แดง โปร่งใส 50%
edgecolorสีขอบแท่ง"black", "#333", palette
linewidthความหนาขอบ (points)2, 4
hatchรูปแบบลายแท่ง"//", "\\\\", "xx"

ตัวอย่างสไตล์อื่นๆ

# แท่งทึบ สีจาก palette, ขอบดำ บาง
sns.barplot(x="Role", y="Matches", data=dataFrame, palette="pastel", edgecolor="black", linewidth=1)

# แท่งมีลาย hatch
sns.barplot(x="Role", y="Matches", data=dataFrame, facecolor="white", hatch="//", edgecolor="black")

# ใช้ palette แบบกำหนดเอง
colors = ["#1f77b4", "#ff7f0e", "#2ca02c"]
sns.barplot(x="Role", y="Matches", data=dataFrame, palette=colors)

หมายเหตุ

  • facecolor=(1, 1, 0, 0) = RGBA tuple (Red=1, Green=1, Blue=0, Alpha=0) = สีเหลือง โปร่งใส 100%
  • sns.color_palette("dark", 2) คืนสี 2 สีจาก palette "dark"
  • ใน Seaborn v0.12+ อาจใช้ color แทน facecolor ได้