رسم نمودار و مصور سازی دادهها در پایتون با استفاده از Matplotlib
پایتون زبانی فوقالعاده به منظور پردازش دادههای مختلف در حوزهی علم دادهها است. اکثر مجموعه دادههای موجود دارای تعداد زیادی مشخصه هستند که درک روابط میان آنها دشوار است. مصور سازی این دادهها راهی مناسب و مفید برای کمک به شناسایی الگوهای موجود در دادهها است و روشی رایج برای انتقال مفاهیم موجود در دادهها به کسانی است که با دادههای ما آشنا نیستند. هر زمان که ما با دادهها سر و کار داریم، مصور سازی آنها بخشی مهم در مراحل تجزیه و تحلیل دادهها محسوب میشود.
در این مقاله ما از کتابخانهی matplotlib در پایتون استفاده میکنیم که کتابخانهای بسیار رایج برای رسم نمودار است. در ادامه به صورت مختصر با قابلیتهای متنوع این کتابخانه آشنا میشویم تا بتوانیم نمودارهای مختلفی را با استفاده از آن رسم کنیم.
نصب Matplotlib
با استفاده از ابزار pip به راحتی میتوان این کتابخانه را نصب نمود:
pip install matplotlib
پس از اجرای دستور بالا، این کتابخانه برای شما نصب شده و میتوانید از آن در برنامههای پایتون خود استفاده کنید.
ما در برنامههای خود تنها از ماژول pyplot در این کتابخانه استفاده میکنیم. بنابراین بهتر است در ابتدای تمام برنامههای خود این کتابخانه را به صورت زیر import کنیم:
import matplotlib.pyplot as plt
به منظور ساده سازی کار با این ماژول در برنامه به آن نام plt نسبت دادیم.
رسم نمودار با استفاده از Matplotlib
همانطور که پیش تر اشاره شد، با استفاده از Matplotlib میتوان نمودارهای متنوعی رسم نمود. در ادامه چندین نمودار مختلف و رایج را با کمک این کتابخانه رسم خواهیم کرد.
Line Plots
در ابتدا قصد داریم یک نمودار خطی ساده رسم کنیم. بدین منظور دو لیست با نام های x و y ایجاد میکنیم؛ به طوری مقدار عناصر y برابر با مربع مقدار عناصر x است. سپس با استفاده از متدهای plot و show، به رسم نمودار میپردازیم. (برای راحتیِ کار تمامی کدها در Jupyter Notebook نوشته شده است.)
میتوان با استفاده از متدهای xlabel و ylabel به محورهای x و y در نمودار نامی اختصاص داد و با استفاده از متد title برای نمودار عنوانی مشخص کرد.
علاوه بر این موارد، کتابخانهی Matplotlib دارای امکانات بسیار زیاد دیگری نیز میباشد که با کمک آنها میتوانیم نمودار های خود را زیبا تر رسم کنیم. برای مثال در ادامه دو نمودار ساده را در یک صفحه مختصات رسم میکنیم و با بکار گیری امکانات موجود در Matplotlib آنها را متمایز از یکدیگر نشان داده و همچنین شرح نمودارها (legend) را نیز در طرح ترسیم شدهی خود نشان میدهیم.
در مثال بالا، با استفاده از marker مکانهای نقاط را نشان داده و با linestyle نحوه رسم خطوط را مشخص نمودیم. همچنین به هرکدام از نمودارهای رسم شده رنگی اختصاص دادهایم.
Scatter Plot
برای رسم نمودار پراکندگی مربوط به دادهها از متد scatter استفاده میشود. کار با این متد همانند کار با متد plot است و میتوان تنظیمات یکسانی برای آن در حین آماده سازی نمودار در نظر گرفت. در ادامه یک نمونه از نمودار پراکندگی با استفاده از کتابخانهی matplotlib رسم شده است.
همانطور که مشاهده میکنید، نحوهی رسم نمودار پراکندگی نیز تا حد زیادی همانند رسم یک نمودار خطی است.
Bar Chart
با استفاده از متد bar در کتابخانهی matplotlib، به سادگی میتوان یک نمودار میلهای ساده رسم نمود. در یک نمودار میلهای، در محور x نام متغیرها یا مشخصههای موجود در مجموعه دادهی ما قرار خواهد گرفت و در محور y بازهی مقادیر مشخص شده است. برای هر مشخصه، میلهای به اندازهی مقدار آن رسم میشود.
در مثال بالا ابتدا با استفاده از متد bar، مقادیر را به ترتیب مشخص کرده تا میلهای برای آنها در نظر گرفته شود. سپس با بکارگیری متد xticks، نام label هایی که مشخص شدهاند را برای مشخصههای محور x در نظر میگیریم.
Histogram Plot
نمودار هیستوگرام تا حدودی شبیه به نمودار میلهای است. با این تفاوت که از نمودار میلهای به منظور مقایسهی مقدار نمونههای مختلف استفاده شده، اما از نمودار هیستوگرام برای نشان دادن میزان توزیع مقادیر استفاده میشود. در مثال زیر یک نمودار هیستوگرام برای یک توزیع نرمال را مشاهده میکنید. در این مثال با کمک کتابخانهی numpy، هزار نمونه داده با میانگین ۵ و انحراف معیار ۳ تولید شده است.
در این مثال به صورت پیش فرض هزار نمونه داده به ۱۰ دسته در محور x تقسیم شدهاند. یعنی میزان مقادیر در ۱۰ بازهی مختلف نشان داده شده است. در صورتی که بخواهیم تعداد دستهها را بیشتر کرده تا واضح تر مقادیر را مشاهده کنیم، میتوانیم مقدار bins را در متد hist تغییر دهیم. همچنین با قرار دادن normed = True، مقادیر محور y را میتوان بر حسب درصد مشاهده نمود.
Pie Chart
با استفاده از کتابخانهی matplotlib میتوان نمودارهای دایرهای نیز ایجاد نمود. برای این کار از متد pie استفاده میشود. در مثال زیر یک نمودار دایرهای ساده با ۵ نمونه داده رسم شده است.
همانطور که مشاهده میکنید در نمودار دایرهای، مشخصههای مختلف بر اساس مقادیرشان، فضایی از دایره را اشغال کردهاند.
شما میتوانید تمامی کدهای نوشته شده را در یک فایل ipynb از اینجا دریافت کنید.
سایر قابلیتهای Matplotlib
کتابخانهی matplotlib قابلیت رسم سایر نمودارهای دیگر را نیز دارد. با استفاده از این کتابخانه میتوان به سادگی انواع نمودارها را تولید نمود. برای مشاهدهی نمودارهای مختلف میتوانید به اینجا مراجعه کنید. همچنین به منظور آشنایی با سایر متدهای pyplot میتوانید به اینجا مراجعه کرده و اطلاعات بیشتری در مورد آنها بدست آورید.
در این آموزش به طور خلاصه با برخی از قابلیتهای Matplotlib برای رسم نمودار آشنا شدیم. این کتابخانه یکی از پرکاربرد ترین کتابخانههای موجود در حوزهی علم دادهها است و جامعه کاربری بسیار بالایی دارد. با ترکیب این کتابخانه با کتابخانههایی مانند Numpy و یا Pandas میتوان مجموعه دادههای متفاوتی را به سادگی در نمودارهای مختلف نمایش دهیم. شما میتوانید مستندات کامل این کتابخانه را در اینجا مشاهده کنید.
مطالب زیر را حتما مطالعه کنید
آشنایی با توابع در پایتون
راه اندازی Django به همراه Postgresql، Nginx و Gunicorn
آشنایی با حلقه ها در پایتون
آشنایی با رشته در پایتون
برنامه نویسی چند نخی در پایتون
تولید اعداد Random با Python
2 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
اقا عالی
دمت گرم
سپاس