مقدمه ای برای Pyplot در نرم افزار پایتون
مقدمه ای برای Pyplot در نرم افزار پایتون
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 ، می توانید بنویسید:
خروجی:
برای دانلود نرم افزارهای داده کاوی کلیک کنید.
قالب بندی طرح
برای هر آرگومان 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 موجود وجود دارد.
برای دریافت لیستی از خصوصیات خط قابل تنظیم ، تابع 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 برای مثال با بسیاری از زیرمجموعه ها را ببینید.
با استفاده از تماس های چند رقمی با تعداد شکل در حال افزایش ، می توانید چندین شکل ایجاد کنید. مطمئناً ، هر شکل می تواند به اندازه دل شما محورها و زیرشاخه ها را داشته باشد:
شما می توانید شکل فعلی را با clf و محورهای فعلی را با cla پاک کنید.
اگر برای شما ناراحت کننده است که در پشت صحنه حالت ها (به طور خاص تصویر ، شکل و محورهای فعلی) برای شما حفظ می شوند .
ناامید نشوید: این فقط یک لفاف حالت نازک در اطراف یک API شی گراست ، که می توانید به جای آن استفاده کنید
اگر تعداد زیادی شکل می گیرید ، باید به یک چیز دیگر نیز توجه داشته باشید: حافظه مورد نیاز برای یک شکل کاملاً آزاد نمی شود تا زمانی که شکل به طور صریح و نزدیک بسته شود.
حذف همه ارجاعات به شکل ، و / یا استفاده از پنجره برای از بین بردن پنجره ای که شکل روی صفحه ظاهر می شود ، کافی نیست ، زیرا pyplot منابع داخلی را تا زمان فراخوانی حفظ می کند.
کار با متن
متن می تواند برای افزودن متن در یک مکان دلخواه استفاده شود ، و xlabel ، ylabel و عنوان برای افزودن متن در مکان های نشان داده شده استفاده می شود (برای مثال دقیق تر به متن در نمودارهای Matplotlib مراجعه کنید)
همه توابع متن نمونه 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
سپاس گزاریم از خواندن این مقاله
برای دانلود دوره آموزشی تبلو کلیک کنید.
برای دانلود دوره آموزشی پاور بی آی کلیک کنید.
برای دانلود دوره آموزشی نرم افزار R کلیک کنید.
برای خرید لایسنس Tableau کلیک کنید.
برای خرید لایسنس Power BI کلیک کنید.
دیدگاهتان را بنویسید