رسم نمودار در پایتون – آموزش عملی

ارمیا مزرعه
1402/07/29
1171
رسم نمودار در پایتون – آموزش عملی

تا حالا به این دقت کردید نمی‌شه در پایتون نمودار رسم کرد؟ این مورد به خاطر این هست که رسم نمودار در پایتون به‌صورت پیش‌فرض وجود نداره؛ حالا واقعاً هیچ راهی نداره که بتونیم در پایتون نمودار رسم کنیم؟ کی گفته راهی نداریم!!

درسته که پایتون قابلیت رسم نمودار رو نداره، اما کی گفته که نمی‌تونیم اون رو به پایتون اضافه کنیم؟ خیلی راحت با نصب بعضی کتابخانه‌ها می‌تونیم قابلیت رسم نمودار رو به پایتون اضافه کنیم؛ می‌پرسید چطوری؟ با من همراه باشید تا بهتون به گم چطور رسم نمودار رو شروع کنید و چه کتابخانه‌ای برای این کار نیاز دارید.

شروع رسم نمودار در پایتون

رسم نمودار در پایتون

برای رسم نمودار اولین کاری که باید انجام بدیم نصب کتابخانه‌ای هست که مخصوص رسم نمودار هست؛ با کلی تحقیق و سؤال پرسیدن به یک کتابخانه با نام matplotlib رسیدیم؛ این کتابخانه به ما در رسم نمودار در پایتون کمک می‌کنه و همین‌طور به خاطر قابلیت‌های زیادی که داره، نمودارهای جالبی رو می‌شه باهاش رسم کرد.

نصب کتابخانه matplotlib برای رسم نمودار در پایتون

اول از همه مطمئن بشید که لپتاب یا کامپیوترتون به اینترنت وصله!

حالا قدم بعدی این هست که کلید ترکیبی Ctrl + R رو بزنید تا پنجره Run باز بشه.

کلمه cmd را در جعبه‌ای که ظاهر شده بنویسید و Enter رو بزنید.

پنجره cmd که باز شد، کد زیر رو بنویسید تا کتابخانه matplotlib نصب بشه.

pip install matplotlib

در این مرحله باید صبر کنید تا دانلود و نصب کتابخانه کامل بشه.

حالا که نصب کتابخانه matplotlib تموم شد، میریم که اولین نمودار خودمون رو در پایتون رسم کنیم.

 

رسم یک نمودار ساده در پایتون

رسم نمودار در پایتون

برای این‌کار همین الان وارد محیط کد نویسی بشید، و کد زیر رو بنویسید:

import matplotlib.pyplot as plt
x = [0,1,2]
y = [0,1,2]
plt.plot(x, y)
plt.show()

اگه قبلا پایتون کار کرده باشید می‌دونید که دستور import برای اضافه کردن یک کتابخانه به پروژه‌ست.

اگه هم نمی‌دونید هیچ ایرادی نداره؛ شما می‌تونید همین الان در دوره آموزشی صفر تا صد پایتون سبزلرن بصورت کاملاً‌ رایگان شرکت کنید.

خب همونطور که می‌گفتم از طریق دستور import کتابخانه matplotlib رو به پروژه اضافه می‌کنیم.

سپس نقاط محور x و نقاط محور y رو مشخص می‌کنیم.

و از طریق plt که کتابخانه ماست تابع plot رو استفاده می‌کنیم تا نمودار ما رسم شود.

در ادامه نیز به کمک تابع show یک خروجی از کارمون می‌گیریم تا اون رو ببینیم.

خب الان پروژه خودتون رو اجرا کنید و نتیجه کار رو ببینید!

 

تبریک میگم!! شما اولین نمودار خودتون رو در پایتون رسم کردید و الان آماده‌اید تا رسم نمودارهای حرفه‌ای‌تر رو شروع کنید، نظرتون چیه باهم بریم ببینیم چه نمودارهایی می‌تونیم در پایتون رسم کنیم؟

انواع نمودارهایی که می‌توان در پایتون رسم کرد

رسم نمودار در پایتون

حالا که رسم نمودار در پایتون براتون مثل آب خوردن آسون شده! می‌خوام رسم 5 تا از پرکاربردترین نمودارهایی که احتمالاً خیلیاتون می‌شناسید رو بهتون آموزش بدم.

1 – رسم نمودار خطی

نمودارهای خطی، نمودارهایی هستند که نقطه اول رو به نقطه دوم به واسطه تابع plot بصورت خطی وصل می‌کنند؛ به بیان واضح‌تر تابع plot مختص رسم نمودار خطی است.

حالا با یک مثال ساده رسم نمودار در پایتون رو به‌صورت خطی رو می‌بینیم.

تصور کنید برای خودتون یک برنامه 7 روزه دارید و قصد دارید که به عملکرد خودتون هر روز از 0 تا 10 نمره بدید؛ حالا قصد داریم خروجی کار رو بصورت نمودار خطی ببینیم.

وارد محیط کد نویسی خودتون بشید و کد زیر رو بنویسید:

import matplotlib.pyplot as plt
x = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
y = [ 2 , 5 , 1 , 10 , 8 , 7 , 5 ]
plt.plot( x , y )
plt.show()

خروجی کارتون بصورت زیر باید باشه:

رسم نمودار در پایتون

شما اولین نمودار خطی خودتون رو خیلی عالی رسم کردید، حالا چالش رسم نمودار رو یکم بیشتر می‌کنیم!

تمرین : تصور کنید در مدت زمان 5 روز مقدار ساعاتی که آموزش دیدید از 1 الی 10 ساعت بوده؛با رسم نمودار نشان دهید که هر روز چند ساعت تمرین کردید؛ تا اینجای کار آسونه مگه نه؟ خب بزار چالش رو بهش اضافه کنم، درون همون نمودار نشان دهید که در این 5 روز چند ساعت استراحت کردید.

راهنمایی: به 2 تا y نیاز دارید.

محیط کد نویسی رو باز کنید و این تمرین رو برای تقویت مهارتتون انجام بدید، بعد از انجام این تمرین برگردید و کد خودتون رو با کدی که در زیر قرار میدم مقایسه کنید.

رسم نمودار در پایتون

جواب تمرین :

import matplotlib.pyplot as plt
x = [ 1 , 2 , 3 , 4 , 5 ]
y = [ 2 , 5 , 1 , 10 , 8 ]
plt.plot(  x , y )
y2 = [ 7, 3 , 5 , 6 , 4 ]
plt.plot( x , y2 )
plt.show()

امیدوارم که نکته این تمرین رو به خوبی یاد گرفته باشید؛ در اصل ما اگه بخوایم یک خط دیگه رو رسم کنیم، باید یک بار برای نقطه x و  y اون رو رسم کنیم، و بار دوم برای نقطه x و  y2 اون رو رسم کنیم.

رسم نمودار در پایتون

تا اینجای کار تو رسم نمودارهای خطی برا خودتون استادیی شدید! پس با من همراه باشید تا در ادامه آموزش رسم نمودار در پایتون بصورت میله‌ای رو بهتون یاد بدم.

2 – رسم نمودار میله‌ای

نمودارهای میله‌ای، نمودارهایی هستند که به کمک تابع bar نقاط رو بصورت ستونی رسم می‌کنند؛ به بیان واضح‌تر تابع bar مختص رسم نمودار میله‌ای است.

حالا با یک مثال ساده یک رسم نمودار در پایتون بصورت میله‌ای رو می‌بینیم.

تصور کنید که قراره به کیفیت 4 تا غذا نمره 0 تا 100 بدید؛ حالا قصد داریم خروجی کار رو بصورت نمودار میله‌ای ببینیم.

وارد محیط کد نویسی خودتون بشید و کد زیر رو بنویسید:

import matplotlib.pyplot as plt
x = [ 1 , 2 , 3 , 4 ]
y = [ 50 , 10 , 100 , 75]
plt.bar( x , y )
plt.show()

خروجی کارتون بصورت زیر باید باشه:

رسم نمودار در پایتون

یک مرحله دیگه رو با موفقیت پشت سر گذاشتید و کم کم دارید یک متخصص رسم نمودار در پایتون می‌شید؛ حالا همراهم باشید تا با یکی از کاربردی ترین نمودارها برای تقسیم بندی آشنا کنم.

3 – رسم نمودار دایره‌ای

نمودارهای دایره‌ای که با نام لاتین Pie-Chart هم شناخته می‌شوند معمولاً‌ برای تقسیم بندی‌های سهمیه‌ای و… استفاده می‌شوند؛ برای رسم نمودار دایره‎‌ای از تابع pie استفاده می‌کنیم.

حالا با یک مثال ساده رسم نمودار در پایتون رو به‌صورت دایره‌ای رو می‌بینیم.

تصور کنید می‌خواهید یک پیتزا رو بین 4 نفر تقسیم کنید؛ علی، محمد، جواد، کاوه

حالا هر کدوم از این چهار نفر یک تعداد مشخصی می‌تونه پیتزا بخوره

علی 3 تکه پیتزا

محمد که شکمو تره 5 تکه پیتزا !

جواد 2 تکه پیتزا

و آقا کاوه هم که نمی‌خواد دُنگ بده، کلا 1 تکه پیتزا برمیداره؛ حالا قصد داریم خروجی کار رو بصورت دایره‌ای ببینیم.

وارد محیط کد نویسی خودتون بشید و کد زیر رو بنویسید:

import matplotlib.pyplot as plt
Names = ['Ali', 'Mohammad', 'Javad', 'Kaveh'] 
colors = ['DeepPink', 'Crimson', 'MediumSeaGreen', 'Coral']
slice = [3,5,2,1]
plt.pie(slice, labels = Names, colors=colors)
plt.show()

بخوام جوری توضیح بدم که متوجه بشید؛ Ali اولین نفر ماست و به اون رنگ DeepPink رو اختصاص دادیم و هیمنطور گفتیم که علی 3 تکه سهم دارد.

اگر دقت کنید عبارت‌های اول هر لیست به هم مرتبط هستند!

برای عبارت های دوم، سوم و چهارم هم همینطور است.

خروجی کارتون بصورت زیر باید باشه:

رسم نمودار در پایتون

تا الان رسم 3 تا از پر کاربردترین نمودارها رو یادگرفتید بهتون تبریک می‌گم؛ حالا وقتشه وارد بخش پیچیده‌تر رسم نمودار در پایتون با matplotlib بشیم؛ پس همراه من باشید تا در قدم بعد رسم نمودار پراگندگی رو بهتون یاد بدم.

4 – رسم نمودار پراگندگی

نمودار پراکندگی به این صورت عمل می‌کنه که هر مقدار با توجه به x و y به کمک تابع scatter به صورت یک نقطه نمایش داده می‌شه؛ برای رسم نمودار پراکندگی از تابع scatter استفاده می‌کنیم.

حالا با یک مثال ساده رسم نمودار در پایتون رو به‌صورت پراکندگی رو می‌بینیم.

تصور کنید امروز یک کلمه جدید در زبان انگلیسی یادگرفتید، فردا آن کلمه را مرور می‌کنید و یک کلمه جدید یاد می‌گیرید؛ در واقع شما برای یادگیری زبان انگلیسی مسیر رشد پلکانی رو انتخاب کردید؛ حالا قصد داریم خروجی کار رو بصورت نمودار پراکندگی ببینیم.

وارد محیط کد نویسی خودتون بشید و کد زیر رو بنویسید:

import matplotlib.pyplot as plt  
x = [ 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 ]
y = [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 ]
plt.scatter(x, y)
plt.show()

خروجی کارتون بصورت زیر باید باشه:

رسم نمودار در پایتون

واقعا ایول به شما که تا اینجا پیش اومدید؛ بریم سر وقت نمودار پنجم؛ در ادامه این مقاله قصد داریم نمودار هیستوگرام رو به شما معرفی کنیم، این نمودار ویژگی‌های متفاوت‌تری نسبت به نمودار‌های قبل‌تر ولی کاربردش خیلی زیاد میتونه باشه؛ پس در ادامه مقاله همراه من باشید.

5 – رسم نمودار هیستوگرام

عملکرد نمودار هیستوگرام کمی متفاوت‌تر از باقی نمودارهاست؛ در واقع نمودار هیستوگرام نحوه توزیع داده رو نشون می‌ده.

خروجی نمودار هیستوگرام مثل نمودار میله‌ای است، با این تفاوت که نمودار هیستوگرام رابطه بین دو یا چند متغییر رو نشون می‌ده؛ این درحالی است که نمودار میله‌ای فقط داده‌های یک متغییر رو نمایش می‌ده.

برای رسم نمودار هیستوگرام در پایتون از تابع hist استفاده می‌کنیم.

حالا با یک مثال ساده رسم نمودار در پایتون رو به‌صورت هیستوگرام رو می‌بینیم.

تصور کنید در شرکتی هستید و از شما خواسته می‌شه که کارکنان شرکت رو نسبت به قد اون‌ها گروه‌بندی کنید؛ در نظر بگیرید شرکت 20 کارمند داره؛ حالا قصد داریم خروجی کار رو بصورت نمودار هیستوگرام ببینیم.

وارد محیط کد نویسی خودتون بشید و کد زیر رو بنویسید:

import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(170, 2 , 20)
plt.hist(x)
plt.show()

در کد بالا از کتابخانه numpy استفاده کردیم تا بتونیم قابلیت رندوم استفاده کنیم تا اعداد تصادفی خلق بشه.

عدد اول 170 است؛ به این معنی که قد نرمال افراد جامعه 170 است، عدد 2 که بعد اون نوشته شده برای ما فاصله گروه‌ها رو 2 سانت 2 سانت گروه‌بندی می‌کنه، عدد 20 هم تعداد کارمندهای آن شرکت است.

خروجی کارتون ممکنه به صورت زیر نباشه چون اعداد رندوم هست:

رسم نمودار در پایتون

بسیار عالی بود شما رسم 5 تا پرکاربردترین نمودارهای پایتون رو یادگرفتید و ذهنیت عالی نسبت به اون بدست اوردید؛ احتمالاٌ براتون سواله که چرا نمودارها انقدر بی روح و زشته؟ نمی‌شه اونا رو تغییر بدیم تا به حالت دلخواه خودمون در بیاد؟ باید بگم که این مورد کاملاً امکان پذیره و در ادامه قراره به تغییر ویژگی نمودارها بپردازیم پس همراه ما باشید.

چگونه نمودارها رو در پایتون شخصی سازی کنیم؟

تغییر ویژگی نمودارها در پایتون خیلی کار راحتیه ؛ این ویژگی‌ها هنگام ترسیم مشخص می‌شوند؛ در ادامه بعد از معرفی اون‌ها یک مثال عملی رو انجام خواهیم داد تا بهتر این موضوع رو یاد بگیرید!

ویژگی‌های نمودار:

  • تابع xlabel برای نام گذاری محور x ها
  • تابع ylabel برای نام گذاری محور y ها
  • تابع title برای نام گذاری نمودار
  • تابع legend برای نمایش جعبه اطلاعات داده‌ها

شکل نوشتاری ویژگی‌های بالا:

plt.xlabel('Days')
plt.ylabel('Time')
plt.title('Weekly scoring Chart')
plt.legend()

خروجی کد در صورت اعمال ویژگی‌ها:

رسم نمودار در پایتون

ویژگی‌های خطوط:

  • Lable برای نام گذاری هر خط
  • Color برای تغییر رنگ
  • Linestyle برای تعیین شکل خط
  • Linewidth برای تعیین ضخامت خط
  • Marker برای نقطه گذاری بخش‌های اصلی
  • Markerfacecolor برای مشخص کردن رنگ نقطه
  • Markersize برای مشخص کردن اندازه نقطه

شکل نوشتاری ویژگی‌ها:

plt.plot( x , y , color="RebeccaPurple" , linestyle="dashdot" ,marker="o" ,markerfacecolor="blue" , markersize="10”)

خروجی کد در صورت اعمال ویژگی‌ها:

رسم نمودار در پایتون

ویژگی‌های ستون‎ها:

  • tick_label برای نام گذاری هر ستون
  • width برای مشخص کردن ضخامت ستون
  • Color برای مشخص کردن رنگ هر ستون

شکل نوشتاری ویژگی‌ها:

plt.bar( x , y ,tick_label = Names,  width = 0.8, color ="green")

! توجه کنید که : Names یک لیست از اسم‌هاست.

خروجی کد در صورت اعمال ویژگی‌ها:

رسم نمودار در پایتون

شما تقریبا تسلط نسبی نسبت به رسم نمودار در پایتون پیدا کردید اما هنوز به یک متخصص حرفه‌ای در رسم نمودارها تبدیل نشدید؛ در ادامه به شما خواهم گفت چطور نمودارهای حرفه‌ای تر رسم کنید.

برای رسم نمودارهای حرفه‌ای‌تر چیکار کنم؟

رسم نمودار در پایتون یک بحث به شدت بزرگه که نمی‌شه اون رو در یک مقاله به صورت کامل نوشت؛اگر علاقه‌مند هستید بصورت تخصصی و کامل بحث تجسم داده در پایتون رو یاد بگیرید و هر نموداری که بهتون دادن رو در پایتون پیاده سازی کنید، قاعدتاً بیشتر از یک کتابخانه نیاز خواهید داشت، حتی در بعضی از موقعیت‌ها نمودارهای عجیب‌تر بهتون داده می‌شه و احتمالاً گیر می‌کنید ولی نگران چیزی نباشید؛ شما میتونید دوره آموزش Data Visualization با پایتون رو بگذرونید تا به تسلط کامل در این زمینه دست پیدا کنید.

فصل‌های اول این دوره کاملاً رایگانه و شما با خیال راحت می‌تونید آموزش ببینید تا در زمینه کاری خودتون یک متخصص بشید؛ با گذروندن این دوره دیگه تو پروژه‌های بزرگ دچار سردرگمی نمی‌شید که چطور موارد مختلف رسم نمودار و… انجام بدید.

نظرات
ثبت نظر جدید

نظری برای این مقاله ثبت نشده است