Matplotlib - พล็อตไวโอลิน

แปลงไวโอลินคล้ายกับแปลงกล่องยกเว้นว่าจะแสดงความหนาแน่นของข้อมูลที่ค่าต่างกันด้วย พล็อตเหล่านี้รวมถึงเครื่องหมายสำหรับค่ามัธยฐานของข้อมูลและกล่องที่ระบุช่วงระหว่างควอไทล์เช่นเดียวกับในพล็อตกล่องมาตรฐาน การวางซ้อนบนพล็อตกล่องนี้เป็นการประมาณความหนาแน่นของเคอร์เนล เช่นเดียวกับพล็อตบ็อกซ์พล็อตไวโอลินถูกใช้เพื่อแสดงการเปรียบเทียบการกระจายตัวแปร (หรือการแจกแจงตัวอย่าง) ใน "หมวดหมู่" ต่างๆ

พล็อตไวโอลินให้ข้อมูลมากกว่าพล็อตกล่องธรรมดา ในความเป็นจริงในขณะที่พล็อตบ็อกซ์แสดงเฉพาะสถิติสรุปเช่นค่าเฉลี่ย / ค่ามัธยฐานและช่วงระหว่างควอไทล์เท่านั้นพล็อตไวโอลินจะแสดงการกระจายข้อมูลทั้งหมด

import matplotlib.pyplot as plt

np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)

## combine these different collections into a list
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]

# Create a figure instance
fig = plt.figure()

# Create an axes instance
ax = fig.add_axes([0,0,1,1])

# Create the boxplot
bp = ax.violinplot(data_to_plot)
plt.show()