matplotlib.pyplot مجموعه ای از توابع است که باعث می شود matplotlib مانند MATLAB عمل کند.
هر تابع pyplot تغییراتی در شکل ایجاد می کند: به عنوان مثال ، یک شکل ایجاد می کند ، یک منطقه رسم در یک شکل ایجاد می کند ، برخی از خطوط را در یک منطقه رسم می کند ، طرح را با برچسب ها و غیره تزئین می کند.
در matplotlib.pyplot حالت های مختلف در فراخوانی عملکردها حفظ می شوند ، به طوری که مواردی مانند شکل فعلی و منطقه رسم را ردیابی می کند و توابع رسم به محورهای فعلی هدایت می شوند (لطفا توجه داشته باشید که “axes” در اینجا و در بیشتر مکان ها در مستندات به محورهای یک شکل و نه اصطلاح ریاضی دقیق برای بیش از یک محور اشاره دارد).
توجه داشته باشید : pyplot API به طور کلی انعطاف پذیری کمتری نسبت به API شی گرا دارد. بیشتر فراخوانی های تابعی که در اینجا مشاهده می کنید را می توانید به عنوان متد از یک شی Axes فراخوانی کنید. ما توصیه می کنیم برای دیدن چگونگی عملکرد ، آموزشها و مثالها را مرور کنید.
تولید تجسم با pyplot بسیار سریع است:
شاید از خود بپرسید که چرا محور x از 0-3 و محور y از 1-4 متغیر است.
اگر برای رسم یک لیست یا آرایه واحد تهیه کنید ، matplotlib فرض می کند توالی مقادیر y است و به طور خودکار مقادیر x را برای شما تولید می کند.
از آنجا که دامنه های پایتون با 0 شروع می شوند ، بردار x پیش فرض دارای همان طول y است اما با 0 شروع می شود. بنابراین داده های x [0 ، 1 ، 2 ، 3] هستند.
plot یک عملکرد همه کاره است و تعداد دلخواهی از استدلال ها را در بر خواهد گرفت.
به عنوان مثال ، برای رسم x در مقابل y ، می توانید بنویسید:
خروجی:
برای خرید لایسنس پاور بی ای Power BI کلیک کنید
قالب بندی طرح
برای هر آرگومان x ، y ، یک آرگومان سوم اختیاری وجود دارد که رشته فرمت است که رنگ و نوع خط طرح را نشان می دهد. حروف و نمادهای رشته قالب از MATLAB هستند و شما یک رشته رنگی را با یک رشته به سبک خط بهم می چسبانید. رشته قالب پیش فرض ‘b-‘ است ، که یک خط آبی کامل است.
به عنوان مثال ، برای رسم موارد بالا با دایره های قرمز ، شما مسئله را صادر می کنید.
مستندات طرح را برای لیست کاملی از سبک های خط و رشته های قالب مشاهده کنید. تابع محور در مثال بالا لیستی از [xmin، xmax، ymin، ymax] را می گیرد و نمای محوری را مشخص می کند.
اگر matplotlib محدود به کار با لیست ها باشد ، برای پردازش عددی تقریباً بی فایده است. به طور کلی ، شما از آرایه های numpy استفاده خواهید کرد. در واقع ، تمام توالی ها به صورت داخلی به آرایه های numpy تبدیل می شوند.
مثال زیر رسم چندین خط با سبک های مختلف در یک فراخوانی عملکردی با استفاده از آرایه ها را نشان می دهد.
رسم با رشته های کلمه کلیدی
مواردی وجود دارد که شما داده هایی را در قالبی دارید که به شما امکان می دهد به متغیرهای خاص با رشته دسترسی داشته باشید.
به عنوان مثال ، با numpy.recarray یا pandas.DataFrame.
Matplotlib به شما امکان می دهد چنین شیئی را با استدلال کلمه کلیدی data ارائه دهید. اگر ارائه شده باشد ، می توانید نمودارهایی با رشته های مربوط به این متغیرها ایجاد کنید.
رسم با متغیرهای دسته بندی
همچنین می توان طرح را با استفاده از متغیرهای طبقه ای ایجاد کرد. Matplotlib به شما امکان می دهد متغیرهای دسته ای را مستقیماً به بسیاری از توابع رسم منتقل کنید.
مثلا:
کنترل خصوصیات خط
خطوط ویژگی های بسیاری دارند که می توانید تنظیم کنید: پهنای باند ، سبک تیره ، ضد انحراف و غیره. روش های مختلفی برای تنظیم ویژگی های خط وجود دارد
از کلیدهای اصلی استفاده کنید:
از روش های تنظیم کننده یک نمونه Line2D استفاده کنید. Plot لیستی از اشیا Line Line2D را برمی گرداند.
به عنوان مثال ، خط 1 ، خط 2 = نمودار (x1 ، y1 ، x2 ، y2). در کد زیر تصور خواهیم کرد که فقط یک خط داریم تا لیست برگردانده شده طول داشته باشد. برای بدست آوردن اولین عنصر از آن لیست ، از بسته بندی tuple با خط استفاده می کنیم:
از setp استفاده کنید.
مثال زیر از یک تابع به سبک MATLAB برای تنظیم چندین ویژگی در لیستی از خطوط استفاده می کند.
setp با لیستی از اشیا or یا یک شی single به صورت شفاف کار می کند.
می توانید از آرگومان های کلمه کلیدی python یا از string/value به سبک MATLAB استفاده کنید:
در اینجا خصوصیات Line2D موجود وجود دارد.
Property | Value Type |
alpha | float |
animated | [True | False] |
antialiased or aa | [True | False] |
clip_box | a matplotlib.transform.Bbox instance |
clip_on | [True | False] |
clip_path | a Path instance and a Transform instance, a Patch |
color or c | any matplotlib color |
contains | the hit testing function |
dash_capstyle | [‘butt’ | ’round’ | ‘projecting’] |
dash_joinstyle | [‘miter’ | ’round’ | ‘bevel’] |
dashes | sequence of on/off ink in points |
data | (np.array xdata, np.array ydata) |
figure | a matplotlib.figure.Figure instance |
label | any string |
linestyle or ls | [ ‘-‘ | ‘–‘ | ‘-.’ | ‘:’ | ‘steps’ | …] |
linewidth or lw | float value in points |
marker | [ ‘+’ | ‘,’ | ‘.’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ ] |
markeredgecolor or mec | any matplotlib color |
markeredgewidth or mew | float value in points |
markerfacecolor or mfc | any matplotlib color |
markersize or ms | float |
markevery | [ None | integer | (startind, stride) ] |
picker | used in interactive line selection |
pickradius | the line pick selection radius |
solid_capstyle | [‘butt’ | ’round’ | ‘projecting’] |
solid_joinstyle | [‘miter’ | ’round’ | ‘bevel’] |
transform | a matplotlib.transforms.Transform instance |
visible | [True | False] |
xdata | np.array |
ydata | np.array |
zorder | any number |
برای دریافت لیستی از خصوصیات خط قابل تنظیم ، تابع setp را با یک خط به عنوان آرگومان فراخوانی کنید
کار با چندین شکل و محور
MATLAB و pyplot مفهوم شکل فعلی و محورهای فعلی را دارند. تمام توابع رسم به محورهای فعلی اعمال می شوند.
تابع gca محورهای فعلی را برمی گرداند (نمونه matplotlib.axes.Axes) و gcf شکل فعلی را بازمی گرداند (نمونه matplotlib.figure.Figure).
در زیر یک اسکریپت برای ایجاد دو زیرمجموعه آورده شده است.
فراخوانی شکل در اینجا اختیاری است زیرا در صورت عدم وجود یک شکل ، درست همانطور که محورها ایجاد می شود (معادل یک فراخوانی () فراخوانی صریح) در صورت عدم وجود ، ایجاد می شود.
فراخوان subplot تعداد ، numcols ، plot_number را مشخص می کند که در آن plot_number از 1 تا numrows * numcols را در بر می گیرد.
اگر شماره * numcols <10 را خاموش کنید ، ویرگولهای مکالمه فرعی اختیاری هستند. بنابراین subplot (211) با subplot (2 ، 1 ، 1) یکسان است. می توانید تعداد دلخواه زیرمجموعه ها و محورها را ایجاد کنید.
اگر می خواهید یک محور را به صورت دستی قرار دهید ، یعنی نه روی یک شبکه مستطیل شکل ، از محورهایی استفاده کنید که به شما امکان می دهد.
مکان را به عنوان محور ([چپ ، پایین ، عرض ، ارتفاع]) که همه مقادیر به صورت کسری قرار دارند تعیین کنید (0 تا 1 ) مختصات. برای نمونه ای از قرار دادن محورها به صورت دستی Axes Demo و نسخه نمایشی Basic Subplot برای مثال با بسیاری از زیرمجموعه ها را ببینید.
با استفاده از تماس های چند رقمی با تعداد شکل در حال افزایش ، می توانید چندین شکل ایجاد کنید. مطمئناً ، هر شکل می تواند به اندازه دل شما محورها و زیرشاخه ها را داشته باشد:
Pyplot نرم افزار پایتون
شما می توانید شکل فعلی را با clf و محورهای فعلی را با cla پاک کنید. اگر برای شما ناراحت کننده است که در پشت صحنه حالت ها (به طور خاص تصویر ، شکل و محورهای فعلی) برای شما حفظ می شوند .
ناامید نشوید: این فقط یک لفاف حالت نازک در اطراف یک API شی گراست ، که می توانید به جای آن استفاده کنید
اگر تعداد زیادی شکل می گیرید ، باید به یک چیز دیگر نیز توجه داشته باشید: حافظه مورد نیاز برای یک شکل کاملاً آزاد نمی شود تا زمانی که شکل به طور صریح و نزدیک بسته شود.
حذف همه ارجاعات به شکل ، و / یا استفاده از پنجره برای از بین بردن پنجره ای که شکل روی صفحه ظاهر می شود ، کافی نیست ، زیرا pyplot منابع داخلی را تا زمان فراخوانی حفظ می کند.
کار با متن
متن می تواند برای افزودن متن در یک مکان دلخواه استفاده شود ، و xlabel ، ylabel و عنوان برای افزودن متن در مکان های نشان داده شده استفاده می شود .
همه توابع متن نمونه matplotlib.text.Text را برمی گردانند.
دقیقاً مانند خطوط بالا ، می توانید خصوصیات را با ارسال آرگومان های کلمه کلیدی به توابع متن یا استفاده از setp شخصی سازی کنید:
این خصوصیات با جزئیات بیشتر در Text Properties و طرح بندی پوشش داده می شوند.
استفاده از عبارات ریاضی در متن
matplotlib عبارات معادله TeX را در هر عبارت متنی می پذیرد.
به عنوان مثال برای نوشتن عبارت σi = 15 در عنوان ، می توانید یک عبارت TeX احاطه شده با علائم دلاری بنویسید:
r قبل از رشته عنوان مهم است – این نشان می دهد که این رشته یک رشته خام است و با فرار پایتون درمان blaslashes نیست.
matplotlib دارای تجزیه کننده و طرح بندی بیان TeX داخلی است و فونت های ریاضی خود را ارسال می کند .
بنابراین می توانید از متن ریاضی در سیستم عامل ها بدون نیاز به نصب TeX استفاده کنید.
برای کسانی که LaTeX و dvipng نصب کرده اند ، می توانید از LaTeX برای قالب بندی متن خود استفاده کنید و خروجی را مستقیماً در شکل های نمایشگر یا متن ذخیره شده خود وارد کنید – به ارائه متن با LaTeX مراجعه کنید.
حاشیه نویسی متن
استفاده از تابع متن اصلی در بالا متن را در موقعیت دلخواه در Axes قرار می دهد.
یک کاربرد متداول برای متن ، حاشیه نویسی برخی از ویژگی های طرح است ، و روش حاشیه نویسی برای کمک به آسان کردن حاشیه نویسی ، عملکرد کمکی را ارائه می دهد.
در یک حاشیه نویسی ، دو نکته وجود دارد که باید در نظر گرفته شود: محل حاشیه نویسی که توسط آرگومان xy نشان داده می شود و محل متن xytext. هر دو این استدلال ها (x، y) توپل هستند.
در این مثال اساسی ، هر دو مکان xy (نوک پیکان) و xytext (مکان متن) در مختصات داده هستند. انواع مختصات دیگری نیز وجود دارد که می توان آنها را انتخاب کنید.
محورهای غیر خطی لگاریتمی و دیگر
matplotlib.pyplot نه تنها از مقیاس های محور خطی ، بلکه از مقیاس های لگاریتمی و لوجیت نیز پشتیبانی می کند.
این معمولاً در صورت گستردگی داده ها در بسیاری از سفارشات به کار می رود.
تغییر مقیاس یک محور آسان است
plt.xscale(‘log’)
یک مثال از چهار نمودار با داده های مشابه و مقیاس های مختلف برای محور y در زیر نشان داده شده است.
همچنین می توانید مقیاس خود را اضافه کنید .
کل زمان اجرای اسکریپت: 3.437 seconds
دوره آموزشی زبان برنامه نویسی پایتون »کلیک کنید» یک برنامه جامع است که بر توسعه سریع نرمافزارهای کاربردی، برنامهنویسی شیگرا و کاربری ماژول و…. با استفاده از ابزار Python تمرکز دارد.
سپاسگذاریم از وقتی که برای خواندن این مقاله گذاشتید
.
برای خرید لایسنس تبلو Tableau کلیک کنید
.
برای مشاهده ویدیوهای آموزشی داده کاوی و هوش تجاری ما را در شبکه های اجتماعی دنبال کنید
Youtube Chanel :VISTA Data Mining
Aparat Chanel: VISTA Data Mining
Instagram Chanel: VISTA Data Mining
Telegram Chanel: VISTA Data Mining
Linkedin Chanel: VISTA Company