কম্পিউটার টিউটোরিয়াল

পাইথন পান্ডাস ও সিবর্ন দিয়ে ভায়োলিন প্লটের ওপর স্বার্ম প্লট আঁকা

সিবর্নের violinplot() এবং swarmplot() একসাথে ব্যবহার করে ভায়োলিন প্লটের ওপর আসল ডেটা পয়েন্টগুলো (সوار্ম) দেখানো যায়। ডেটাসেট: Cricketers2.csv।

প্রয়োজনীয় লাইব্রেরি ইমপোর্ট:

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

CSV থেকে ডেটা লোড:

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

ভায়োলিন প্লটের ওপর স্বার্ম প্লট (সাদা রঙে):

sb.violinplot(x=dataFrame["Role"], y=dataFrame["Matches"])
sb.swarmplot(x=dataFrame["Role"], y=dataFrame["Matches"], color="white")

সম্পূর্ণ কোড উদাহরণ:

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

# CSV ফাইল থেকে ডেটা লোড
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")

sb.set_theme(style="whitegrid")

# ভায়োলিন প্লটের ওপর স্বার্ম প্লট
sb.violinplot(x=dataFrame["Role"], y=dataFrame["Matches"])
sb.swarmplot(x=dataFrame["Role"], y=dataFrame["Matches"], color="white")

# প্রদর্শন
plt.show()

আউটপুট:

এটি Role অনুযায়ী Matches এর ভায়োলিন প্লট তৈরি করবে যার ওপর সাদা রঙের স্বার্ম পয়েন্টগুলো দেখা যাবে।

ব্যাখ্যা:

  • violinplot(): বিতরণের আকার (KDE + বক্সপ্লট) দেখায়
  • swarmplot(..., color="white"): আসল ডেটা পয়েন্টগুলো সাদা রঙে ওপরে প্লট করে
  • এই কম্বিনেশন বিতরণ এবং কাঁচা ডেটা একসাথে দেখানোর জন্য আদর্শ
  • whitegrid থিম সাদা পয়েন্টগুলো ভালো দৃশ্যমান করে
  1. সিবর্নে ভায়োলিন প্লটে কোয়ার্টাইল হরিজেন্টাল লাইন হিসেবে দেখানো

  2. সিবর্নে বক্সপ্লটের উপরে সুয়ার্ম প্লট (swarmplot) আঁকা

  3. সিবর্নে সুয়ার্ম প্লটে order প্যারামিটার দিয়ে ক্যাটাগরি অর্ডার নিয়ন্ত্রণ

  4. সিবর্নে ভায়োলিন প্লটে order প্যারামিটার দিয়ে ক্যাটাগরি অর্ডার নিয়ন্ত্রণ