ترسیم و تجسم داده ها و اطلاعات، تلاش برای ایجاد نظم و انضباط دیداری در راستای درک بهتر الگوها، روندها و همبستگی بین داده ها می باشد. شناسایی ویژگی های داده ممکن است به روش های دیگر قابل کشف نباشند. زبان برنامه نویسی #پایتون چندین کتابخانه گرافیکی عالی با ویژگی های گوناگون را ارائه می نماید. اگر می خواهید یک نمایش تعاملی، پویا و بسیار سفارشی از داده ها ایجاد کنید، پایتون کتابخانه های بسیار کاربردی را برای این منظور فراهم نموده است.
در اینجا برخی از محبوب ترین کتابخانه های گرافیکی پایتون برای آشنایی معرفی می شوند.
کتابخانه Matplotlib: رابط کاربری سطح پایین با انعطاف بالا
کتابخانه Pandas Visualization: رابط کاربری آسان، ساخته شده در Matplotlib
کتابخانه Seaborn: رابط کاربری سطح بالا ، سبک های پیش فرض عالی
کتابخانه Plotly: رابط کاربری سطح بالا، امکان ارتباط تعاملی
در مقاله قبل در مورد کتابخانه Matplotlib بحث کردیم در این مقاله با کتابخانه Seaborn آشنا خواهیم شد.
پیشنهاد می شود برای آشنایی بیشتر در صورت تمایل مقاله زیر مطالعه نمایید.
آشنایی با ترسیم داده ها (رسم نمودار) در پایتون
وارد کردن مجموعه داده (Importing Datasets)
import pandas as pd iris = pd.read_csv('iris.csv', names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class']) print(iris.head())
کتابخانه Seaborn
کتابخانه Seaborn براساس کتابخانه Matplotlib ساخته شده است. این رابط سطح بالا امکانات جذابی را برای رسم نمودار فراهم می نماید.
کتابخانه Seaborn پیشنهادهای خوبی دارد که شما را قادر می سازند با یک خط نموداری را رسم کنید که در کتابخانه Matplotlib باید چندین خط کد نویسی می کردید. طرح های استاندارد آن بسیار جذاب است و دارای رابط کاربری مناسب برای کار با Dataframes Pandas می باشد.
این کتابخانه را به روش زیر می توانیم در زبان برنامه نویسی پایتون وارد نماییم.
import seaborn as sns
نمودار پراکندگی (Scatter Plot)
با استفاده از تابع scatterplot می توانیم نمودار پراکندگی را ایجاد نماییم. برای رسم نمودار نیاز هست که نام سطر و ستون x و y را نیز تعیین نماییم. بعلاوه مقادیر داده ها را نیز به عنوان یک آرگومان اضافی به تابع انتقال دهیم.
sns.scatterplot(x='sepal_length', y='sepal_width', data=iris)
همچنین می توانیم با استفاده از آرگومان hue، نقاط را براساس کلاس بصورت رنگی برجسته نماییم، که این عمل بسیار راحت تر از کتابخانه Matplotlib انجام می گردد.
sns.scatterplot(x='sepal_length', y='sepal_width', hue='class', data=iris)
نمودار خطی (Line Chart)
برای ایجاد نمودار خطی از تابع lineplot استفاده می نماییم. تنها آرگومان مورد نیاز مقدار داده ها است که در مورد مثال این مقاله چهار ستون عددی از مجموعه داده های Iris هستند.
sns.lineplot(data=iris.drop(['class'], axis=1))
همچنین می توانیم از تابع kdeplot استفاده کنیم که لبه های منحنی ها را گرد نماید. بنابراین اگر تعداد زیادی داده نویز داشته باشیم نمودار خطی مناسب تری از نظر بصری ایجاد می نماید.
sns.lineplot(data=iris.drop(['class'], axis=1))
برای ادامه این مقاله از یک دیتاست دیگر استفاده می کنیم.
wine_reviews = pd.read_csv('winemag-data-130k-v2.csv', index_col=0) wine_reviews.head()
نمودار هیستوگرام (Histogram)
برای ایجاد هیستوگرام از تابع distplot استفاده می کنیم. ما باید ستونی را که می خواهیم ترسیم کنیم، را به تابع ارسال کنیم تا تابع روی مقادیر داده ها محاسبات فراوانی بصورت گروهبندی شده را انجام دهد. همچنین می توانیم تعداد بازه های مورد نیاز را تعیین نمایییم و اگر بخواهیم تخمین تراکم هسته گاوسی را در داخل نمودار ترسیم کنیم.
sns.distplot(wine_reviews['points'], bins=10, kde=False)
sns.distplot(wine_reviews['points'], bins=10, kde=True)
نمودار میله ای (Bar Chart)
برای رسم نمودار میله ای از تابع countplot استفاده می کنیم و فقط کافی است که داده مورد نظر را به تابع ارسال نماییم.
sns.countplot(wine_reviews['points'])