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

سرور مجازی NVMe

تغییر اندازه قلم در Matplotlib

0 38
زمان لازم برای مطالعه: 4 دقیقه


معرفی

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

در این آموزش، روش انجام این کار را بررسی خواهیم کرد اندازه فونت را در Matplotlib تغییر دهید.

تغییر اندازه قلم در Matplotlib

چند راه برای تغییر اندازه فونت ها در Matplotlib وجود دارد. می توانید تنظیم کنید fontsize تغییر روش برخورد Matplotlib با فونت ها به طور کلی یا حتی تغییر اندازه شکل.

بیایید ابتدا یک نمودار ساده ایجاد کنیم که می خواهیم اندازه فونت ها را تغییر دهیم روی:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')
ax.set_title('Sine and cosine waves')
ax.set_xlabel('Time')
ax.set_ylabel('Intensity')
leg = ax.legend()

plt.show()

طرح matplotlib

تغییر اندازه قلم با استفاده از اندازه فونت

بیایید ساده ترین گزینه را امتحان کنیم. هر تابعی که با متن سروکار دارد، مانند Title، برچسب ها و سایر توابع متنی یک آرگومان را می پذیرند – fontsize.

بیایید دوباره کد قبلی را بررسی کنیم و a را مشخص کنیم fontsize برای این عناصر:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')
ax.set_title('Sine and cosine waves', fontsize=20)
ax.set_xlabel('Time', fontsize=16)
ax.set_ylabel('Intensity', fontsize=16)
leg = ax.legend()

plt.show()

در اینجا، ما را تنظیم کرده ایم fontsize برای عنوان و همچنین برچسب ها برای زمان و شدت. با اجرای این کد به دست می آید:

آرگومان اندازه فونت matplotlib

همچنین می‌توانیم اندازه فونت را با افزودن عبارت تغییر دهیم prop آرگومان و تنظیم اندازه فونت در آنجا:

leg = ax.legend(prop={"size":16})

با این کار اندازه فونت تغییر می‌کند، که در این حالت افسانه را نیز به سمت چپ پایین منتقل می‌کند تا با عناصر همپوشانی نداشته باشد. روی بالا سمت راست:

تغییر اندازه فونت افسانه matplotlib

با این حال، در حالی که می‌توانیم هر اندازه فونت را به این صورت تنظیم کنیم، اگر عناصر متنی زیادی داشته باشیم و فقط اندازه یکنواخت و کلی بخواهیم – این رویکرد تکراری است.

در چنین مواردی می توانیم به تنظیم اندازه فونت روی بیاوریم در سطح جهانی.

تغییر اندازه قلم به صورت جهانی

دو روش وجود دارد که می توانیم اندازه فونت را به صورت جهانی تنظیم کنیم. ما می خواهیم تنظیم کنیم font_size پارامتر به اندازه جدید از طریق می توانیم به این پارامتر برسیم rcParams('font.size').

یک راه این است که آنها را مستقیماً اصلاح کنید:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

plt.rcParams('font.size') = '16'

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')
plt.xlabel('Time')
plt.ylabel('Intensity')
fig.suptitle('Sine and cosine waves')
leg = ax.legend()

plt.show()

شما باید اینها را تنظیم کنید قبل از را plot() فراخوانی تابع، زیرا اگر بعداً آنها را اعمال کنید، هیچ تغییری ایجاد نخواهد شد. این رویکرد هر چیزی را که به عنوان یک فونت مشخص شده است را تغییر می دهد font شی کوارگز

با این حال، هنگامی که ما این کد را اجرا می کنیم، واضح است که تیک های x و y و همچنین برچسب های x و y در اندازه تغییر نکرده اند:

matplotlib تغییر اندازه فونت پارامترهای rc

بسته به روی نسخه Matplotlib که در حال اجرا هستید، نمی توانید این موارد را با پارامترهای rc تغییر دهید. شما استفاده می کنید axes.labelsize و xtick.labelsize/ytick.labelsize به ترتیب برای آنها

اگر تنظیم اینها اندازه برچسب ها را تغییر نمی دهد، می توانید از آن استفاده کنید set() تابع عبور در a fontsize یا استفاده کنید set_fontsize() تابع:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)


plt.rcParams('font.size') = '16'


for label in (ax.get_xticklabels() + ax.get_yticklabels()):
    label.set_fontsize(16)
    
ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')
plt.xlabel('Time', fontsize=16)
plt.ylabel('Intensity', fontsize=16)

fig.suptitle('Sine and cosine waves')
leg = ax.legend()

plt.show()

این نتیجه در:

matplotlib تغییر اندازه فونت xtick و برچسب

نتیجه

در این آموزش، ما چندین روش را برای تغییر اندازه فونت ها در Matplotlib بررسی کرده ایم.

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

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

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

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

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

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



منتشر شده در 1403-01-15 17:34:04

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

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

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