از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Legend را به شکل در Matplotlib اضافه کنید
سرفصلهای مطلب
معرفی
Matplotlib یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون است. به طور معمول، هنگامی که بیش از یک متغیر را تجسم می کنید، می خواهید یک افسانه به نمودار اضافه کنید و توضیح دهید که هر متغیر چه چیزی را نشان می دهد.
در این مقاله به بررسی روش انجام این کار خواهیم پرداخت یک افسانه به طرح Matplotlib اضافه کنید.
ایجاد یک پلات
بیایید ابتدا یک نمودار ساده با دو متغیر ایجاد کنیم:
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)
ax.plot(y, color='blue')
ax.plot(z, color='black')
plt.show()
در اینجا، ما یک تابع سینوسی را رسم کرده ایم که از آن شروع می شود 0
و به پایان می رسد 10
با یک قدم از 0.1
و همچنین یک تابع کسینوس در همان بازه و گام. با اجرای این کد به دست می آید:
حالا، خیلی مفید است که به اینها برچسب بزنید و یک افسانه اضافه کنید تا کسی که این کد را ننوشت راحتتر تشخیص دهد که کدام است.
Legend را به یک شکل در Matplotlib اضافه کنید
بیایید یک افسانه به این طرح اضافه کنیم. اولا، ما می خواهیم label
این متغیرها، تا بتوانیم به آن برچسب ها در افسانه مراجعه کنیم. سپس، ما به سادگی می توانیم تماس بگیریم legend()
روی را ax
شیء برای افسانه که باید اضافه شود:
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
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')
leg = ax.legend()
plt.show()
حالا اگر کد را اجرا کنیم، طرح یک افسانه خواهد داشت:
توجه کنید که چگونه افسانه به طور خودکار در تنها فضای آزاد قرار می گیرد که امواج از روی آن عبور نمی کنند.
سفارشی کردن Legend در 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')
leg = ax.legend(loc='upper right', frameon=False)
plt.show()
این منجر به:
در اینجا، ما از آن استفاده کرده ایم loc
استدلال برای تعیین اینکه ما می خواهیم افسانه را در گوشه بالا سمت راست قرار دهیم. ارزش های دیگری که پذیرفته شده اند عبارتند از upper left
، lower left
، upper right
، lower right
، upper center
، lower center
، center left
و center right
.
علاوه بر این، می توانید استفاده کنید center
برای قرار دادن آن در مرکز مرده، یا best
برای قرار دادن افسانه در “بهترین” نقطه آزاد به طوری که با هیچ یک از عناصر دیگر همپوشانی نداشته باشد. به صورت پیش فرض، best
انتخاب شده است.
افسانه خارج از محورها را اضافه کنید
گاهی اوقات، قرار دادن افسانه در جعبه مرزی یک طرح دشوار است. شاید، عناصر زیادی وجود داشته باشد روی و کل جعبه با داده های مهم پر شده است.
در چنین مواردی می توانید افسانه را قرار دهید خارج از از محورها، و دور از عناصر تشکیل دهنده آن. این کار از طریق bbox_to_anchor
آرگومان، که مشخص می کند کجا می خواهیم لنگر افسانه به:
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')
leg = ax.legend(loc='center', bbox_to_anchor=(0.5, -0.10), shadow=False, ncol=2)
plt.show()
این منجر به:
را bbox_to_anchor
خود آرگومان چند استدلال را می پذیرد. اولاً یک تاپل را می پذیرد که حداکثر 4 عنصر را می دهد. در اینجا، ما می توانیم مشخص کنیم x
، y
، width
و height
از افسانه
ما فقط تنظیم کرده ایم x
و y
ارزش ها را جابجا کند -0.10
زیر محورها، و 0.5
از سمت چپ (0
دست چپ جعبه بودن و 1
سمت راست).
با تغییر دادن اینها، می توانید افسانه را در هر مکانی تنظیم کنید. داخل یا خارج از جعبه.
سپس، ما را تنظیم کرده ایم shadow
به False
. این برای تعیین اینکه آیا می خواهیم سایه کوچکی در زیر افسانه ارائه شود یا خیر استفاده می شود.
در نهایت، ما را تنظیم کرده ایم ncol
استدلال به 2
. این تعداد برچسب ها در یک ستون را مشخص می کند. از آنجایی که ما دو برچسب داریم و میخواهیم آنها در یک ستون باشند، آن را روی آن تنظیم کردهایم 2
. اگر این استدلال را به 1
، آنها یکی بالای دیگری قرار می گیرند:
توجه داشته باشید: را bbox_to_anchor
آرگومان استفاده می شود در کنار را loc
بحث و جدل. را loc
استدلال بر اساس افسانه قرار خواهد داد روی را bbox_to_anchor
. در مورد ما، ما آن را در center
محل جدید، جابجا شده جعبه مرزی.
نتیجه
در این آموزش، روش اضافه کردن یک افسانه به نمودارهای Matplotlib خود را بررسی کردیم. ابتدا به Matplotlib اجازه دادیم بفهمد که افسانه باید در کجا قرار گیرد و پس از آن از bbox_to_anchor
آرگومان برای تعیین مکان خود، خارج از محورها.
اگر به تجسم دادهها علاقه دارید و نمیدانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:
تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که طراحی شده است تا مبتدیان مطلق را با دانش پایه پایتون به Pandas و Matplotlib ببرد و به آنها اجازه دهد پایه ای قوی برای کار پیشرفته با این کتابخانه ها بسازند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.
این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.
تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را در دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش میدهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.
این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-16 01:29:09