وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Matplotlib Box Plot – آموزش و نمونه

0 23
زمان لازم برای مطالعه: 5 دقیقه


معرفی

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

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

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

وارد کردن داده ها

برای ایجاد یک Box Plot، به مقداری داده برای رسم نیاز داریم. ما باید مجموعه داده ای را انتخاب کنیم که شامل متغیرهای پیوسته به عنوان ویژگی باشد، زیرا Box Plots توزیع متغیر پیوسته را تجسم می کند. ما با آن کار خواهیم کرد کیفیت شراب مجموعه داده

ما با وارد کردن تمام کتابخانه‌هایی که نیاز داریم شروع می‌کنیم. خوب import پانداها مجموعه داده را بخوانند و تجزیه کنند، و ما البته به این کار نیاز داریم import Matplotlib همچنین، یا به طور دقیق تر، ماژول PyPlot:

import pandas as pd
from matplotlib import pyplot as plt

بیایید بررسی کنیم تا مطمئن شویم مجموعه داده ما آماده استفاده است. خوب print سر مجموعه داده را بیرون بیاورید تا مطمئن شوید داده ها به درستی بارگیری شده اند، و همچنین بررسی می کنیم که هیچ ورودی داده گم نشده ای وجود نداشته باشد:

dataframe = pd.read_csv("winequality-red.csv")
print(dataframe.head())
print(dataframe.isnull().values.any())
   fixed acidity  volatile acidity  citric acid  ...  sulphates  alcohol  quality
0            7.4              0.70         0.00  ...       0.56      9.4        5
1            7.8              0.88         0.00  ...       0.68      9.8        5
2            7.8              0.76         0.04  ...       0.65      9.8        5
3           11.2              0.28         0.56  ...       0.58      9.8        6
4            7.4              0.70         0.00  ...       0.56      9.4        5

(5 rows x 12 columns)
False

دومین print بیانیه برمی گردد False، به این معنی که هیچ داده از دست رفته ای وجود ندارد. اگر وجود داشت، باید مقادیر از دست رفته DataFrame را مدیریت کنیم.

طرح یک باکس پلات در Matplotlib

بیایید برخی از ویژگی‌های مجموعه داده را انتخاب کنیم و آن ویژگی‌ها را با آن تجسم کنیم boxplot() تابع. ما از پانداها برای استخراج ستون های ویژگی مورد نظر خود استفاده می کنیم و برای راحتی آنها را به عنوان متغیر ذخیره می کنیم:

fixed_acidity = dataframe("fixed acidity")
free_sulfur_dioxide = dataframe('free sulfur dioxide')
total_sulfur_dioxide = dataframe('total sulfur dioxide')
alcohol = dataframe('alcohol')

طبق معمول، می توانیم توابع رسم را فراخوانی کنیم روی نمونه PyPlot (pltFigure نمونه یا Axes نمونه، مثال:

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.read_csv("winequality-red.csv")

fixed_acidity = dataframe("fixed acidity")
free_sulfur_dioxide = dataframe('free sulfur dioxide')
total_sulfur_dioxide = dataframe('total sulfur dioxide')
alcohol = dataframe('alcohol')

fig, ax = plt.subplots()
ax.boxplot(fixed_acidity)
plt.show()

در اینجا، ما آن را استخراج کرده ایم fig و ax اشیاء از بازگشت از subplots() تابع، بنابراین می توانیم از هر یک از آنها برای فراخوانی استفاده کنیم boxplot() تابع. از طرف دیگر، ما فقط می توانستیم تماس بگیریم plt.boxplot().

در هر صورت، این نتیجه می شود:

طرح جعبه ساده matplotlib

پس از ایجاد نمودار، می توانیم برخی از آمار خلاصه برای داده های خود را مشاهده کنیم. نمودار جعبه، میانه مجموعه داده (خط عمودی در وسط)، و همچنین محدوده های بین ربعی (انتهای کادرها) و حداقل و حداکثر مقادیر ویژگی مجموعه داده انتخابی (انتهای دور “سبیل” را نشان می دهد. ”).

همچنین می توانیم چندین ستون را رسم کنیم روی یک شکل، به سادگی با ارائه ستون های بیشتر. دوباره این کار قابل انجام است روی یا plt به عنوان مثال، fig شی یا ax هدف – شی:

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.read_csv("winequality-red.csv")

fixed_acidity = dataframe("fixed acidity")
free_sulfur_dioxide = dataframe('free sulfur dioxide')
total_sulfur_dioxide = dataframe('total sulfur dioxide')
alcohol = dataframe('alcohol')

columns = (fixed_acidity, free_sulfur_dioxide, total_sulfur_dioxide, alcohol)

fig, ax = plt.subplots()
ax.boxplot(columns)
plt.show()

این منجر به:

باکس نمودار matplotlib چندین ستون

در حال حاضر، ما باید خیلی بیشتر در حال انجام است روی، از آنجایی که تصمیم گرفته ایم چندین ستون را ترسیم کنیم.

سفارشی کردن طرح

همانطور که می بینید، در حالی که نمودارها با موفقیت تولید شده اند، بدون برچسب تیک روی در محور X و Y، تفسیر نمودار دشوار است.

ما می‌توانیم طرح را سفارشی کنیم و با استفاده از آن، برچسب‌هایی را به محور X اضافه کنیم xticks تابع. بیایید تعداد برچسب‌هایی را که می‌خواهیم اضافه کنیم و سپس برچسب‌های هر یک از آن ستون‌ها را ارسال می‌کنیم:

fig, ax = plt.subplots()
ax.boxplot(columns)
plt.xticks((1, 2, 3, 4), ("Fixed acidity", "Free sulfur dioxide", "Total sulfur dioxide", "Alcohol"), rotation=10)
plt.show()

جعبه سفارشی سازی برچسب نمودار matplotlib

اگر بخواهیم می‌توانیم جهت طرح را با تغییر دادن تغییر دهیم vert پارامتر. vert کنترل می کند که آیا طرح به صورت عمودی رندر شود یا نه و آن را تنظیم می کند 1 به صورت پیش فرض:

fig, ax = plt.subplots()
ax.boxplot(fixed_acidity, vert=0)
plt.show()

طرح جعبه عمودی matplotlib

این notch=True ویژگی فرمت بریدگی را در نمودار جعبه ایجاد می کند، patch_artist=True جعبه را با رنگ ها پر می کند:

fig, ax = plt.subplots()
columns = (free_sulfur_dioxide, total_sulfur_dioxide)
ax.boxplot(columns, notch=True, patch_artist=True)
plt.xticks((1, 2), ("Free sulfur dioxide", "Total sulfur dioxide"))
plt.show()

بریدگی و وصله جعبه طرح matplotlib

ما می توانیم از آن استفاده کنیم meanline استدلال برای ارائه میانگین روی جعبه، اگرچه اگر بریدگی‌ها را نیز نشان می‌دهیم باید از این کار اجتناب شود، زیرا ممکن است در تضاد باشند.

این باید با showmean پارامتر. در صورت امکان، میانگین به صورت خطی تجسم می شود که تمام طول کادر را طی می کند. در صورت عدم امکان، میانگین به صورت نقاط نشان داده می شود:

fig, ax = plt.subplots()
columns = (free_sulfur_dioxide, total_sulfur_dioxide)
ax.boxplot(columns, patch_artist=True, meanline=True, showmeans=True)
plt.xticks((1, 2), ("Free sulfur dioxide", "Total sulfur dioxide"))
plt.show()

نمودار نشانی جعبه نمودار matplotlib

ما می‌توانیم ستون‌های ویژگی‌های مختلف را با ایجاد فهرستی از مقادیر رنگ هگز و استفاده از آن رنگ‌آمیزی کنیم set_facecolor بحث و جدل. در مثال زیر ما zip را boxes عنصر از box متغیر همراه با رنگ هایی که می خواهیم استفاده کنیم و سپس رنگ چهره را برای هر یک از آن جعبه ها تنظیم می کنیم.

columns = (fixed_acidity, free_sulfur_dioxide, total_sulfur_dioxide, alcohol)
fig, ax = plt.subplots()
box = ax.boxplot(columns, notch=True, patch_artist=True)
plt.xticks((1, 2, 3, 4), ("Fixed acidity", "Free sulfur dioxide", "Total sulfur dioxide", "Alcohol"))

colors = ('#0000FF', '#00FF00',
          '#FFFF00', '#FF00FF')

for patch, color in zip(box('boxes'), colors):
    patch.set_facecolor(color)

plt.show()

تغییر رنگ طرح جعبه matplotlib

نتیجه

در این آموزش روش ایجاد Box Plot در Matplotlib و Python را یاد گرفتیم. سپس، نگاهی انداختیم به اینکه چگونه می‌توانید آن را با استفاده از آرگومان‌هایی مانند سفارشی‌سازی کنید vert، meanline، و set_facecolor.

اگر به تجسم داده‌ها علاقه دارید و نمی‌دانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:

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

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

تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را در دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش می‌دهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.

این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-12 20:35:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید