برنامه نویسی و ITپایتون

آموزش رسم نمودار در پایتون با کتابخانه Matplotlib

شما روزانه حجم عظیمی از داده ها را تولید می کنید. بخش مهم تجزیه و تحلیل داده ها، تجسم است. در طی چند سال گذشته انواع ابزارهای گرافیکی، توسعه یافته است. در ادامه در مقاله ی رسم نمودار در پایتون با کتابخانه Matplotlib با ما همراه باشید.

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

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

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

آموزش کامل و جامع کار با کتابخانه Matplotlib

 

این آموزش مفاهیم اصلی Matplotlib را توضیح می دهد تا فرد بتواند پتانسیل کامل آن را کشف کند.

 

رسم نمودار در پایتون بوسیله Matplotlib

معرفی به pyplot

matplotlib.pyplot مجموعه ای از توابع سبک فرمان است که باعث می شود Matplotlib مانند MATLAB کار کند. هر تابع pyplot تغییراتی در یک شکل ایجاد می کند: مثلاً، یک شکل را ایجاد می کند، یک منطقه نقشه را در یک شکل ایجاد می کند، بعضی از خط ها را در یک نقشه نقشه کشیده، طرح را با برچسب ها و غیره تزئین می کند.

در matplotlib.pyplot حالتهای مختلف در فراخوانی های عملکردی حفظ می شوند، به طوری که مواردی مانند شکل فعلی و منطقه نقشه برداری را نگه می دارد، و توابع نقشه برداری به محورهای فعلی هدایت می شود (لطفا توجه داشته باشید که “محورها” در اینجا و در اکثر نقاط در اسناد مربوط به قسمت محورهای یک شکل است و نه اصطلاح دقیق ریاضی برای بیش از یک محور).

 

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

توجه داشته باشید

APP pyplot عموما در Matplotlib نسبت به API شی گرا انعطاف پذیر است. بسیاری از تماسهای عملکردی که در اینجا مشاهده می کنید می توانند به عنوان روشهایی از یک شیء Axes نیز خوانده شوند. توصیه می کنیم برای دیدن چگونگی عملکرد این آموزشها و مثالها را مرور کنید.

ایجاد تجسم با pyplot بسیار سریع است:

 

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])

plt.ylabel('some numbers')

plt.show()

 

معرفی به pyplot

ایجاد تجسم خطی با Matplotlib

شاید تعجب کنید که چرا محور x از 0-3 و محور y از 1-4 متغیر است. اگر یک لیست یا آرایه واحد به فرمان () در طرح () ارائه دهید، Matplotlib فرض می کند که دنباله ای از مقادیر y است، و بطور خودکار مقادیر x را برای شما تولید می کند. از آنجا که دامنه های پایتون با 0 شروع می شود، بردار x به طور پیش فرض دارای طول Y است اما با 0 شروع می شود. از این رو داده های x [0،1،2،3] هستند.

 

ویدیو پییشنهادی : آموزش پایتون جادی
آموزش پایتون جادی

 

() Plot یک دستور همه کاره است و تعداد آرگومان های دلخواه را در اختیار خواهد گرفت. به عنوان مثال، برای ترسیم x در مقابل y، می توانید دستور را صادر کنید:

 

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])

 

قالب بندی طرح خود

برای هر جفت آرگومان x ، y ، یک آرگومان سوم اختیاری وجود دارد که رشته فرمت است که رنگ و نوع خط نقشه را نشان می دهد. حروف و نمادهای رشته فرمت از MATLAB است، و شما یک رشته رنگ را با یک رشته به سبک خط جمع می کنید. رشته فرمت پیش فرض “b-” است، که یک خط آبی جامد است. به عنوان مثال، برای ترسیم موارد فوق با دایره های قرمز در  Matplotlib، شما صادر می کنید:

 

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')

plt.axis([0, 6, 0, 20])

plt.show()

 

نمودار نقطه ای با matplotlib

نمودار نقطه ای با matplotlib

مستندات طرح () را برای لیست کاملی از سبک های خط و رشته های قالب مشاهده کنید. دستور() ax در مثال بالا لیستی از [xmin، xmax، ymin، ymax] را می گیرد و نمای محورها را مشخص می کند.

آموزش پایتون مقدماتی با جادی

 

اگر Matplotlib به کار با لیست محدود می شد، برای پردازش عددی کاملاً بی فایده بود. به طور کلی از آرایه های numpy استفاده خواهید کرد. در حقیقت، تمام سکانس ها به صورت داخلی به آرایه های شماره گیر تبدیل می شوند. مثال زیر ترسیم چندین خط با سبک های فرمت مختلف در یک دستور با استفاده از آرایه ها را نشان می دهد.

 

import numpy as np

# evenly sampled time at 200ms intervals

t = np.arange(0., 5., 0.2)

# red dashes, blue squares and green triangles

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')

plt.show()


 

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

ترسیم با رشته های کلمات کلیدی

مواردی وجود دارد که داده ها را با فرمت در اختیار شما قرار می دهد که به شما امکان دسترسی به متغیرهای خاص با رشته ها را می دهد. به عنوان مثال، با numpy.recarray یا pandas.DataFrame.

Matplotlib به شما امکان می دهد آرگومان کلمه کلیدی داده ها را برای اشیا ارائه دهید. در صورت ارائه، ممکن است اشکالی با رشته های مربوط به این متغیرها ایجاد کنید.

 

data = {'a': np.arange(50),

'c': np.random.randint(0, 50, 50),

'd': np.random.randn(50)}

data['b'] = data['a'] + 10 * np.random.randn(50)

data['d'] = np.abs(data['d']) * 100

plt.scatter('a', 'b', c='c', s='d', data=data)

plt.xlabel('entry a')

plt.ylabel('entry b')

plt.show()

 

 

ترسیم با رشته های کلمات کلیدی

خواص خط کنترل

خطوط دارای بسیاری از خصوصیات هستند که می توانید آنها را تنظیم کنید: پهنای باند، سبک خط، رنگ خط و غیره. روش های مختلفی برای تنظیم ویژگی های خط وجود دارد.

آموزش پیشرفته پایتون جادی

 

از آرگومان های کلمه کلیدی استفاده کنید:

 

plt.plot(x, y, linewidth=2.0)

 

 

اگر از روش های تنظیم کننده نمونه Line2D استفاده کنید. نقشه لیستی از اشیاء Line2D را برمی گرداند. به عنوان مثال، .line1, line2 = plot(x1, y1, x2, y2) در کد زیر فرض خواهیم کرد که ما فقط یک خط داریم به طوری که لیست برگشت شده از طول 1 باشد. ما از بسته بندی tuple با خط استفاده می کنیم تا اولین عنصر آن لیست را بدست آوریم:

 

line, = plt.plot(x, y, '-')

line.set_antialiased(False) # turn off antialiasing


از دستور setp () استفاده کنید. در مثال زیر از یک دستور به سبک Matplotlib برای تنظیم چندین ویژگی در لیست خطوط استفاده شده است. setp به طور شفاف با لیستی از اشیاء یا یک شی واحد کار می کند. می توانید از آرگومان های کلمه کلیدی پایتون یا جفت های string/value به سبک MATLAB استفاده کنید:

 

lines = plt.plot(x1, y1, x2, y2)

# use keyword args

plt.setp(lines, color='r', linewidth=2.0)

# or MATLAB style string value pairs

plt.setp(lines, 'color', 'r', 'linewidth', 2.0)

 

کار با چندین شکل و محور

MATLAB و pyplot مفهوم شکل فعلی و محورهای فعلی را دارند. تمام دستورات ترسیم در مورد محورهای فعلی اعمال می شود. تابع () gca محورهای فعلی (Matplotlib.axes.Axes) را برمی گرداند، و () gcf شکل فعلی را باز می گرداند (matplotlib.figure.Figure). به طور معمول، لازم نیست نگران این موضوع باشید، زیرا همه این موضوعات در پشت صحنه مراقبت می شوند. در زیر یک اسکریپت برای ایجاد دو زیرمجموعه وجود دارد.

 

def f(t):

return np.exp(-t) * np.cos(2*np.pi*t)

t1 = np.arange(0.0, 5.0, 0.1)

t2 = np.arange(0.0, 5.0, 0.02)

plt.figure()

plt.subplot(211)

plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')

plt.subplot(212)

plt.plot(t2, np.cos(2*np.pi*t2), 'r--')

plt.show()

 

کار با چندین محور در matplotlib

فرمان () figure در مثال بالا اختیاری است زیرا figure(1) بطور پیش فرض ایجاد می شود، دقیقاً به عنوان پیش فرض (111) اگر به صورت دستی هیچ محوری را مشخص نکنید به طور پیش فرض ایجاد می شود. command در فرمان subplot اگر numrows * numcols <10 باشد اختیاری است. بنابراین(subplot (211 با (1،1 ، subplot (2) یکسان است.

 

کار با چندین محور در matplotlib

 

شما در Matplotlib می توانید تعداد دلخواهی از خرده های فرعی و محوری ایجاد کنید. اگر می خواهید محورها را به صورت دستی قرار دهید، از دستور () axes  استفاده کنید، که به شما امکان می دهد مکان را به عنوان محورها ([سمت چپ ، پایین ، عرض ، ارتفاع]) مشخص کنید که در آن همه مقادیر به شکل کسری هستند. Axes Demo را برای نمونه ای از قرار دادن محورها به صورت دستی و Basic Subplot Demo نمونه برای مثال با تعداد زیادی زیرشاخه هستند.

 

ویدیو پییشنهادی : آموزش متلب مکتب خونه
آموزش متلب مکتب خونه

 

شما می توانید با استفاده از چندین figure()  تعداد بیشتری شکل در در صفحه را ایجاد کنید. البته، هر شکل می تواند حاوی محورها و زیرشاخه هایی باشد هر طور که شما صلاح بدانید ذر کد زیر به این موضوع میپردازیم.

 

import matplotlib.pyplot as plt

plt.figure(1)                # the first figure

plt.subplot(211)             # the first subplot in the first figure

plt.plot([1, 2, 3])

plt.subplot(212)             # the second subplot in the first figure

plt.plot([4, 5, 6])




plt.figure(2)                # a second figure

plt.plot([4, 5, 6])          # creates a subplot(111) by default




plt.figure(1)                # figure 1 current; subplot(212) still current

plt.subplot(211)             # make subplot(211) in figure1 current

plt.title('Easy as 1, 2, 3') # subplot 211 title

 

می توانید شکل فعلی را با تابع () clf  و محورهای فعلی را با () claپاک کنید. اگر احساس مشکلی می کنید نگران نباشید چون که حالت¬ها در کتابخانه Matplotlib (به طور خاص تصویر فعلی، شکل و محورها) در پشت صحنه برای شما حفظ می شوند، ناامید نشوید.

مرجع کامل انواع آموزش پایتون به صورت تضمینی + اعطای گواهینامه دوره

 

این فقط یک روش حالتی خاص در اطراف یک API شی گرا است که می توانید به جای آن استفاده کنید. امیدوارم مطالب مهمی را در مورد رسم نمودار در پایتون با کتابخانه Matplotlib را در اختیار شما قرار داده باشیم.

سعید هابطی

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

نوشته های مشابه

‫7 دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا