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

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

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

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

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

 

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

معرفی به pyplot

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

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

 

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

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

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

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

 

 

معرفی به pyplot

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

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

 

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

 

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

 

 

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

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

 

 

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

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

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

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

 

 

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

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

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

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

 

 

 

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

خواص خط کنترل

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

 

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

 

 

 

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

 

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

 

 

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

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

 

 

کار با چندین محور در 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()  تعداد بیشتری شکل در در صفحه را ایجاد کنید. البته، هر شکل می تواند حاوی محورها و زیرشاخه هایی باشد هر طور که شما صلاح بدانید ذر کد زیر به این موضوع میپردازیم.

 

 

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

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