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

سرور مجازی NVMe

Legend را به شکل در Matplotlib اضافه کنید

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


معرفی

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و همچنین یک تابع کسینوس در همان بازه و گام. با اجرای این کد به دست می آید:

تجسم سینوسی python

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

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()

حالا اگر کد را اجرا کنیم، طرح یک افسانه خواهد داشت:

افسانه را به نمودار matplotlib اضافه کنید

توجه کنید که چگونه افسانه به طور خودکار در تنها فضای آزاد قرار می گیرد که امواج از روی آن عبور نمی کنند.

سفارشی کردن 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()

این منجر به:

سفارشی کردن افسانه در matplotlib

در اینجا، ما از آن استفاده کرده ایم 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

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

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

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