از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
نمودار پای Matplotlib – آموزش و مثال
سرفصلهای مطلب
معرفی
کتابخانه های تجسم داده های زیادی در پایتون وجود دارد، با این حال Matplotlib محبوب ترین کتابخانه در بین همه آنهاست. محبوبیت Matplotlib به دلیل قابلیت اطمینان و کاربردی بودن آن است – قادر است هر دو طرح ساده و پیچیده را با کد کمی ایجاد کند. شما همچنین می توانید طرح ها را به روش های مختلف سفارشی کنید.
در این آموزش به آن خواهیم پرداخت روش ترسیم نمودار پای در Matplotlib.
نمودارهای دایره ای نشان دهنده داده هایی است که به دسته ها/برچسب ها تقسیم می شوند. آنها یک راه بصری و ساده برای تجسم داده های متناسب – مانند درصد هستند.
نمودار دایره ای را در Matplotlib ترسیم کنید
برای رسم نمودار دایره ای در Matplotlib، می توانیم آن را فراخوانی کنیم pie()
تابع PyPlot یا Axes
نمونه، مثال.
تنها آرگومان اجباری دادهای است که میخواهیم رسم کنیم، مانند ویژگی از یک مجموعه داده:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
fig, ax = plt.subplots()
ax.plot(x)
plt.show()
این یک نمودار دایره ای نسبتاً ساده، اما ساده ایجاد می کند که هر مقدار به یک تکه بزرگ نسبتاً بزرگ از پای اختصاص داده می شود:
بیایید چند برچسب اضافه کنیم تا تشخیص آنچه در اینجا چیست آسان تر باشد:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
labels = ('Very Likely', 'Likely', 'Unsure', 'Unlikely', 'Very Unlikely')
fig, ax = plt.subplots()
ax.pie(x, labels = labels)
ax.set_title('Survery responses')
plt.show()
اکنون، نمودار دایره ای دارای داده های اضافی است که به ما امکان می دهد آن را کمی ساده تر تفسیر کنیم:
سفارشی کردن نمودارهای پای در Matplotlib
هنگام تهیه تجسم داده ها برای ارائه ها، مقالات یا صرفاً برای به اشتراک گذاشتن آنها با همتایان خود – ممکن است بخواهید آنها را کمی سبک و سفارشی کنید، مانند استفاده از رنگ های مختلف، که با دسته ها مرتبط هستند، و درصدها را نشان می دهند. روی برش ها، به جای اینکه فقط تکیه کنید روی ادراک بصری، یا برش های انفجاری برای برجسته کردن آنها.
بیایید نگاهی بیندازیم که چگونه Matplotlib به ما اجازه میدهد نمودارهای پای را سفارشی کنیم.
تغییر رنگ نمودار پای
برای تغییر رنگ یک نمودار پای در Matplotlib، باید آرایه ای از رنگ ها را به colors
استدلال، در حین ترسیم آن:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
labels = ('Very Likely', 'Likely', 'Unsure', 'Unlikely', 'Very Unlikely')
colors = ('tab:blue', 'tab:cyan', 'tab:gray', 'tab:orange', 'tab:red')
fig, ax = plt.subplots()
ax.pie(x, labels = labels, colors = colors)
ax.set_title('Survery responses')
plt.show()
در اینجا، ما یک همبستگی بسیار ساده بین پاسخ ها و رنگ هایی که به آنها اختصاص داده شده است ایجاد کرده ایم. Very Likely
خواهد بود blue
در پالت تابلو، در حالی که Very Unlikely
خواهد بود red
.
اجرای این کد نتیجه می دهد:
نمایش درصدها روی برش ها
با نگاهی به نمودار دایره ای که تا کنون ساخته ایم، واضح است که تعداد بیشتری وجود دارد Unsure
و Likely
پاسخ دهندگان نسبت به سایر دسته ها به صورت جداگانه. اگرچه، اغلب اوقات برای ما آسان تر است هر دو نمودار دایره ای را به صورت بصری و عددی تفسیر کنید.
برای افزودن درصدهای عددی به هر برش، از عبارت استفاده می کنیم autopct
بحث و جدل. به طور خودکار درصدها را در هر گوه/برش تنظیم میکند و نماد قالببندی رشته پایتون استاندارد را میپذیرد:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
labels = ('Very Likely', 'Likely', 'Unsure', 'Unlikely', 'Very Unlikely')
colors = ('tab:blue', 'tab:cyan', 'tab:gray', 'tab:orange', 'tab:red')
fig, ax = plt.subplots()
ax.pie(x, labels = labels, colors = colors, autopct='%.0f%%')
ax.set_title('Survery responses')
plt.show()
با تنظیم autopct
به %.0f%%
، ما انتخاب کرده ایم که درصدها را با 0 رقم اعشار (فقط اعداد کامل) قالب بندی کنیم و a اضافه کنیم %
در پایان امضا کنید اگر ما اطراف را حذف کرده بودیم %..%
نمادها، رشته ها به صورت درصد قالب بندی نمی شوند، بلکه به صورت مقادیر تحت اللفظی فرمت می شوند.
اجرای این کد نتیجه می دهد:
انفجار/ برجسته کردن گوه ها
گاهی اوقات، مهم است که ورودی های خاصی را برجسته کنید. به عنوان مثال، در نظرسنجی ما، درصد بسیار کمی از پاسخ دهندگان احساس می کنند که ظهور چیزی مورد سوال است Very Unlikely
. با فرض اینکه ما می خواهیم به این واقعیت اشاره کنیم که اکثر مردم فکر نکنید بعید است، ما میتوانیم منفجر شود گوه:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
labels = ('Very Likely', 'Likely', 'Unsure', 'Unlikely', 'Very Unlikely')
colors = ('tab:blue', 'tab:cyan', 'tab:gray', 'tab:orange', 'tab:red')
explode = (0, 0, 0, 0, 0.2)
fig, ax = plt.subplots()
ax.pie(x, labels = labels, colors = colors, autopct='%.0f%%', explode = explode)
ax.set_title('Survery responses')
plt.show()
را explode
آرگومان آرایه ای از مقادیر را می پذیرد، از 0..1
، جایی که مقادیر خود تعیین می کنند که گوه چقدر از مرکز دورتر است. به طور پیش فرض، همه گوه ها دارای یک منفجر شود ارزش 0
، بنابراین همه آنها به مرکز متصل هستند.
تنظیم این مقدار روی 1
آن را جبران می کرد زیاد، نسبت به نمودار، بنابراین معمولاً شما گوه ها را منفجر می کنید 0.1
، 0.2
، 0.3
و مقادیر مشابه تو می توانی منفجر شود هر تعداد از آنها که می خواهید، با مقادیر مختلف برای برجسته کردن دسته های مختلف.
اجرای این کد نتیجه می دهد:
اضافه کردن یک سایه
برای افزودن سایه به نمودار دایره ای Matplotlib، تنها کاری که باید انجام دهید این است که آن را تنظیم کنید shadow
استدلال به True
:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
labels = ('Very Likely', 'Likely', 'Unsure', 'Unlikely', 'Very Unlikely')
colors = ('tab:blue', 'tab:cyan', 'tab:gray', 'tab:orange', 'tab:red')
explode = (0, 0, 0, 0, 0.2)
fig, ax = plt.subplots()
ax.pie(x, labels = labels,
colors = colors,
autopct='%.0f%%',
explode = explode,
shadow = True)
ax.set_title('Survery responses')
plt.show()
این نتیجه در:
نمودار دایره چرخشی
در نهایت، با تنظیم زاویه شروع، می توانید نمودار را نیز بچرخانید. تا اینجای کار شروع می شود روی 0 درجه (سمت راست)، و گوه های پر شده در خلاف جهت عقربه های ساعت. با تنظیم startangle
استدلال به عدد بین 0..360
، می توانید یک دایره کامل ایجاد کنید:
import matplotlib.pyplot as plt
x = (15, 25, 25, 30, 5)
labels = ('Very Likely', 'Likely', 'Unsure', 'Unlikely', 'Very Unlikely')
colors = ('tab:blue', 'tab:cyan', 'tab:gray', 'tab:orange', 'tab:red')
explode = (0, 0, 0, 0, 0.2)
fig, ax = plt.subplots()
ax.pie(x, labels = labels,
colors = colors,
autopct='%.0f%%',
explode = explode,
shadow = True,
startangle = 180)
ax.set_title('Survery responses')
plt.show()
این منجر به یک نمودار دایره ای می شود که 180 درجه می چرخد و به طور موثر آن را به سمت دیگر می چرخاند:
نتیجه
در این آموزش، روش ترسیم نمودار پای ساده در Matplotlib با پایتون را بررسی کردیم. ما نمودارهای پای ساده را بررسی کردهایم و سپس به روش سفارشیسازی آنها برای کاربردهای زیباییشناختی و عملی پرداختهایم.
اگر به تجسم دادهها علاقه دارید و نمیدانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:
تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که برای جذب مبتدیان مطلق به پانداها و Matplotlib با دانش پایه پایتون طراحی شده است و به آنها اجازه می دهد تا پایه ای قوی برای کار پیشرفته با این کتابخانه ها ایجاد کنند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.
این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.
تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را از طریق دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش میدهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.
این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-11 13:45:05