رسم نمودار در پایتون یا مصورسازی داده ها (Data visualization) یکی از نیازمندی دانشجویان، متخصصان و تحلیلگران داده میباشد. همانطور که میدانید زبان پایتون یکی از قدرتمندترین و پرکاربردترین ابزارها در حوزه داده و اطلاعات میباشد. و در همین راستا چند ماژول یا کتابخانه برای رسم نمودار ارائه کرده است.
مصورسازی داده و رسم نمودار یک مهارت مهم و کلیدی زندگی کاری و آکادمیک به حساب می آید.
تصاویر و نمودارها درک سرعت درک مطلب و انتقال اطلاعات را بالاتر میبرند.
زبان برنامه نویسی پایتون علاوه بر اینکه یکی از زبان های برنامه نویسی محبوب در دنیا میباشد، زمانی که صحبت از علم داده میباشد، به عنوان یک زبان پیشگام حرف های زیادی برای گفتن دارد.
زبان برنامه نویسی پایتون قدرت بسیار بالایی در پردازش داده ها دارد. همین امر باعث شده یکی از ابزارهای اصلی کابران و متخصصین حوزه علم داده به شمار رود.
امروزه نمودارها و عکس ها بیشتر، روشن تر و گویاتر صحبت میکنند. بدون شک میتوان گفت که انتقال مفاهیم و نتیجه کارها از طریق نمودار و عکس به مراتب اثربخش تر از راههای کلاسیک میباشد.
با کمک مصورسازی داده میتوانیم الگوهای موجود در داده ها را شناسایی کنیم. رسم نمودار و مصور سازی این دادهها راهی بهینه و مناسب برای کمک به درک و شناسایی الگوهای موجود در دادهها و انتقال مفاهیم میباشد. همچنین فرآیند تحلیل و تصمیم گیری مبتنی بر اطلاعات را راحت تر میکند.
ابزارهای مختلفی برای رسم نمودار در زبان برنامه نویسی پایتون وجود دارد. این ابزارها در قالب یک پک، ماژول یا کتابخانه عرضه شده است. ما در زیر کتابخانه های بزرگ و معروف رسم نمودار در پایتون را لیست کرده ایم:
جهت اطلاع، کتابخانه Matplotlib اولین کتابخانه مصورسازی داده ها بوسیله زبان پایتون میباشد که بسیار رایج و پرکاربرد است. و در این مقاله سعی کردیم یک معرفی جامع به همراه چند مثال از ماژول Matplotlib ارائه دهیم.
نصب این کتابخانه بسیار ساده است و من فرض میکنم که شما این کتابخونه رو نصب کردید. (البته راهنمای نصب کتابخونه رو میتونید از اینجا بخونید و نصب کنید)
ولی به هر حال هر سوالی داشتید ازم بپرسید.
در ادامه چندین مثال ارائه شده است. در صورت نیاز به آموزش ویدیویی و جزئیات بیشتر، ما دوره آموزشی مصورسازی داده و رسم نمودار در پایتون که سعی شده بصورت جامع و کامل و به همرا مثال های مختلف ارائه شود را به شما ئیشنهاد میدهیم.
زمانی که ما بخواهیم نحوه تغییرات یک یا چند کمیت در طول زمان یا … به نمایش بگذاریم، میتوانیم از این نوع نمودار استفاده کنیم. برای رسم این نمودار فقط کافیست داده های محور x و محور y را مشخص کنیم.
ساده ترین حالت برای رسم نمودار خط:
import numpy as np import matplotlib.pyplot as plt x = [0, 1, 2, 3, 4, 5, 8, 9] y = [-1, 0, 2, 3, 0, -3, 0, -2] plt.plot(x, y) plt.show()
نتیجه:
import matplotlib.pyplot as plt import numpy as np x = np.arange(-5, 2, 0.01) y = np.sin(2.4 * np.pi * x) plt.plot(x, y) plt.show()
کد فوق نمودار زیر را رسم خواهد کرد:
نمودار میله ای یا ستونی (Bar Chart)، یک نمایش گرافیکی از دادهها با استفاده از میلهها یا ستونها با ارتفاعهای متفاوت است. زمانی که ما چند دسته یا نوع از داده ها را در اختیار داریم که هرکدام فراوانی های مختلف دارد (مثلا تعداد آرائ چند کاندید) نمودار میله ای گزینه خوبی میباشد تا اطلاعات را به تصویر بکشیم.
import matplotlib.pyplot as plt x = [0, 2, 4, 6, 8, 10] y = [10, 8, 6, 4, 7, 1] plt.bar(x, y) bar_names = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp') plt.xticks(x, bar_names) plt.show()
کد فوق نمودار زیر را رسم خواهد کرد:
نمودارهای میلهای در مواردی مناسب هستند که دادهها دستهبندی شده باشند. اما اگر دادههای پیوستهای دارید بهتر است از هیستوگرام استفاده کنید.
گاهی نیاز داریم که سهم انواع دسته ها را نمایش دهیم. سهم هر یک از گروهها نسبت به کل، توسط نمودار دایرهای (Pie Chart) به نمایش در میآید. این نمودار به شکل یک دایرهای است که به برش هایی تقسیم شده.
import matplotlib.pyplot as plt labels = 'Python', 'C++', 'Ruby', 'Java' sizes = [215, 130, 245, 210] plt.pie(sizes, labels=labels) plt.show()
کد فوق نمودار زیر را رسم خواهد کرد:
نمودار دایره ای، به نظرم بدترین نوع مصورسازی داده هستش. ترجیحا هیچوقت استفاده نکنید از این نمودار.
شکل ظاهری این نمودار به نمودار ستونی شبیه است. شباهت زیادی بین نمودار ستونی و هیستوگرام وجود دارد. در این نمودار بازه مورد نظر را به چندین زیر بازه تقسیم میکنیم. محور افقی بازه داده ها را تعیین میکند و محور عمودی میزان فراوانی هر بازه را مشخص میکند.
به طور معمول بین ستونها در نمودارهای میلهای فواصل مناسبی قرار میگیرند تا شبیه هیستوگرام نباشند و باعث اشتباه نشوند.
مثالی از نمایش توزیع نرمال:
import matplotlib.pyplot as plt import numpy as np Mean = 0.5 #mi-u STD = 0.1 # sigma x = np.random.normal(Mean, STD, 1000) x = plt.hist(x) plt.show()
کد فوق نمودار زیر را رسم خواهد کرد:
برای رسم چند نمودار در یک قاب از دستور subplot استفاده میکنیم. به مثال زیر توجه کنید:
import matplotlib.pyplot as plt import numpy as np x = np.arange(-5, 5, 0.01) y = np.sin(2 * np.pi * x) y2 = np.cos(2 * np.pi * x) axes1 = plt.subplot2grid((4, 4), (0, 0), rowspan = 2) axes1.set_facecolor('y') axes1.plot(x, y) axes2 = plt.subplot2grid((4, 4), (2, 3)) axes2.set_facecolor('y') axes2.plot(x, y) axes3 = plt.subplot2grid((4, 4), (3, 0), colspan = 3) axes3.set_facecolor('y') axes3.plot(x, y) plt.subplot2grid((4, 4), (0, 1), colspan = 2) plt.subplot2grid((4, 4), (0, 3)) plt.subplot2grid((4, 4), (1, 1)) plt.subplot2grid((4, 4), (1, 2)) plt.subplot2grid((4, 4), (1, 3)) plt.subplot2grid((4, 4), (2, 0)) plt.subplot2grid((4, 4), (2, 1), colspan = 2) plt.subplot2grid((4, 4), (3, 3)) plt.show()
نتیجه اجرای کد فوق در زیر نشان داده شده است:
مثال های فوق از دوره دوره آموزش رسم نمودار در پایتون استخراج شده است. برای تهیه این دوره آموزشی میتوانید به فروشگاه سایت مراجعه بفرمائید.
این ها ساده ترین حالت برای رسم نمودار در پایتون بود و تا حدود زیادی کار شمارو راه میندازه. اگر نیاز به افزودن جزئیات بیشتر به نمودارهای خودتون رو دارید، میتونید دوره دوره آموزش رسم نمودار در پایتون رو تهیه کنید.