Seaborn - การพล็อตข้อมูลตามหมวดหมู่
ในบทก่อนหน้านี้เราได้เรียนรู้เกี่ยวกับการกระจายพล็อตเฮกซินพล็อตและพล็อต kde ซึ่งใช้ในการวิเคราะห์ตัวแปรต่อเนื่องภายใต้การศึกษา พล็อตเหล่านี้ไม่เหมาะสมเมื่อตัวแปรภายใต้การศึกษาเป็นหมวดหมู่
เมื่อตัวแปรใดตัวแปรหนึ่งหรือทั้งสองตัวแปรภายใต้การศึกษาเป็นหมวดหมู่เราจะใช้พล็อตเช่น striplot (), swarmplot () ฯลฯ Seaborn มีอินเทอร์เฟซให้ทำเช่นนั้น
พล็อตการกระจายตามหมวดหมู่
ในส่วนนี้เราจะเรียนรู้เกี่ยวกับแผนการกระจายแบบแบ่งหมวดหมู่
เปลื้องผ้า ()
stripplot () ถูกใช้เมื่อตัวแปรใดตัวแปรหนึ่งที่อยู่ระหว่างการศึกษามีลักษณะเป็นหมวดหมู่ แสดงข้อมูลตามลำดับที่เรียงตามแกนใดแกนหนึ่ง
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df)
plt.show()
เอาต์พุต
ในพล็อตข้างต้นเราจะเห็นความแตกต่างอย่างชัดเจน petal_lengthในแต่ละสายพันธุ์ แต่ปัญหาสำคัญของพล็อตการกระจายข้างต้นคือจุดบนพล็อตกระจายจะทับซ้อนกัน เราใช้พารามิเตอร์ 'Jitter' เพื่อจัดการกับสถานการณ์แบบนี้
Jitter เพิ่มสัญญาณรบกวนแบบสุ่มให้กับข้อมูล พารามิเตอร์นี้จะปรับตำแหน่งตามแกนหมวดหมู่
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df, jitter = Ture)
plt.show()
เอาต์พุต
เดี๋ยวนี้การกระจายจุดสามารถมองเห็นได้ง่าย
Swarmplot ()
อีกทางเลือกหนึ่งที่สามารถใช้แทน 'Jitter' ได้คือฟังก์ชัน swarmplot(). ฟังก์ชั่นนี้จะวางตำแหน่งของจุดกระจายแต่ละจุดบนแกนหมวดหมู่และหลีกเลี่ยงจุดที่ทับซ้อนกัน -
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()