از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
طرح خط Matplotlib – آموزش و مثال
سرفصلهای مطلب
معرفی
Matplotlib یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون است. از تجسم های ساده گرفته تا پیچیده، این کتابخانه برای بیشتر افراد است.
در این آموزش، روش انجام این کار را بررسی خواهیم کرد نمودار خطی را در Matplotlib ترسیم کنید – یکی از اساسی ترین انواع قطعه.
Line Plots مقادیر عددی را نمایش می دهد روی یک محور و مقادیر مقوله ای روی دیگری. آنها معمولاً می توانند به همان روشی که می توان از نوار پلات استفاده کرد، استفاده می شود، اگرچه، آنها معمولاً برای پیگیری تغییرات در طول زمان استفاده می شوند.
طرح یک طرح خطی در Matplotlib
برای رسم نمودار خط در Matplotlib، از حالت عمومی استفاده می کنید plot()
تابع از نمونه PyPlot. مشخص نیست lineplot()
تابع – عمومی به طور خودکار با استفاده از خطوط یا نشانگر ترسیم می شود.
بیایید مجموعه داده کوچک خود را برای کار با آن بسازیم:
import matplotlib.pyplot as plt
x = (1, 2, 3, 4, 5, 6)
y = (1, 5, 3, 5, 7, 8)
plt.plot(x, y)
plt.show()
این منجر به یک نمودار خط ساده می شود:
از طرف دیگر، ما میتوانستیم آن را کاملاً حذف کنیم x
محور، و فقط رسم شده است y
. این منجر به پر شدن محور X می شود range(len(y))
:
import matplotlib.pyplot as plt
y = (1, 5, 3, 5, 7, 8)
plt.plot(y)
plt.show()
این منجر به نمودار خطی مشابه با مقادیر قبلی می شود x
استنباط می شوند.
این منجر به نمودار خطی مشابه با مقادیر قبلی می شود x
استنباط می شوند. این x
مقادیر، چه استنباط شده و چه به صورت دستی توسط ما تنظیم شده باشند، مانند مثال اول، به همان شکلی هستند که y
. اگر y
دارای 10 مقدار، x
همچنین باید:
با این حال، ما می توانیم این رفتار را تغییر دهیم و از آن محدوده بالاتر برویم، در این صورت، y
در عوض مقادیر به آنها نگاشت میشوند:
import matplotlib.pyplot as plt
y = (1, 5, 3, 5, 7, 8)
x = (10, 20, 30, 40, 50, 60)
plt.plot(x, y)
plt.show()
این نتیجه در:
ما با یونیفرم سر و کار داشتیم x
ارزش های تا کنون بیایید ببینیم اگر توزیع را تغییر دهیم چه اتفاقی می افتد:
import matplotlib.pyplot as plt
y = (1, 5, 3, 5, 7, 8)
x = (1, 2, 3, 4, 5, 20)
plt.plot(x, y)
plt.show()
دو مقدار اول مقیاس را تعیین می کند. و 1, 5, 3, 5, 7
طبق معمول، نقشه برداری شده اند 1, 2, 3, 4, 5
. با این حال، از آنجایی که 20
از هیچ جا پرید، 8
نمی توان به طور کامل به آن نگاشت.
محور X مقیاس یکنواخت خود را حفظ میکند و مجموعهای از مقادیر گمشده را اضافه میکند 5..20
، سپس نقشه برداری می کند 8
به 20
، در نتیجه یک خط مستقیم از 7..8
روی محور Y:
رسم یک طرح خطی به صورت لگاریتمی در Matplotlib
هنگام برخورد با مجموعه داده هایی که اعداد به تدریج بزرگتر هستند، و به خصوص اگر توزیع آنها به سمت نمایی متمایل شود، ترسیم یک نمودار خطی معمول است. روی یک مقیاس لگاریتمی
به جای اینکه محور Y به طور یکنواخت خطی باشد، هر بازه را به طور نمایی بزرگتر از آخرین بازه تغییر می دهد.
این باعث می شود که توابع نمایی اساساً به صورت خطوط مستقیم ترسیم شوند. وقتی با این نوع داده ها سروکار دارید، سخت است که ذهن خود را در اطراف اعداد نمایی بچرخانید، و می توانید با رسم لگاریتمی داده ها، آن را بسیار شهودی تر کنید.
بیایید از NumPy برای تولید یک تابع نمایی و رسم خطی آن استفاده کنیم، مانند قبل:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 10)
y = np.exp(x)
plt.plot(x, y)
plt.show()
این یک آرایه به طول 10 ایجاد می کند و حاوی مقادیر بین است 0..5
. ما سپس استفاده کرده ایم exp()
تابع NumPy برای محاسبه مقادیر نمایی این عناصر و در نتیجه یک تابع نمایی روی مقیاس خطی:
این نوع عملکرد، اگرچه ساده است، اما درک آن برای انسان دشوار است، و تغییرات کوچک به راحتی می تواند در هنگام برخورد با مجموعه داده های بزرگ مورد توجه قرار نگیرد.
حالا بیایید مقیاس محور Y را به لگاریتمی تغییر دهیم:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 10)
y = np.exp(x)
plt.yscale('log')
plt.plot(x, y)
plt.show()
با استفاده از نمونه PyPlot، plt
، می توانیم مقیاس محورهای X و Y را تنظیم کنیم. در اینجا، ما Y-Axis را تنظیم کرده ایم روی یک مقیاس لگاریتمی، از طریق yscale()
تابع.
در اینجا، ما نیز می توانستیم استفاده کنیم linear
، log
، logit
و symlog
. پیش فرض است linear
.
اجرای این کد نتیجه می دهد:
سفارشی کردن خطوط خط در Matplotlib
شما به راحتی می توانید خطوط معمولی را با ارسال آرگومان ها به آن سفارشی کنید plot()
تابع.
اینها معمولاً استدلال هایی مانند linewidth
، linestyle
یا color
:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(low=1, high=10, size=25)
plt.plot(x, color = 'blue', linewidth=3, linestyle='dashed')
plt.show()
این نتیجه در:
به جای dashed
ارزش، ما می توانستیم استفاده کنیم dotted
، یا solid
، مثلا. اگرچه، میتوانستیم از کاراکترهای خاص مانند :
، -
، --
و -.
:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(low=1, high=10, size=25)
plt.plot(x, color = 'blue', linewidth=3, linestyle='-.')
plt.show()
این نتیجه در:
وجود دارد بسیاری از سبک های خط.
نتیجه
در این آموزش، ما چندین روش را برای ترسیم یک خط خط با استفاده از Matplotlib و Python بررسی کرده ایم. ما همچنین روش طرح ریزی را پوشش داده ایم روی یک مقیاس لگاریتمی، و همچنین روش سفارشی کردن نمودارهای خطی.
اگر به تجسم دادهها علاقه دارید و نمیدانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:
تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که طراحی شده است تا مبتدیان مطلق را با دانش پایه پایتون به Pandas و Matplotlib ببرد و به آنها اجازه دهد پایه ای قوی برای کار پیشرفته با این کتابخانه ها بسازند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.
این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.
تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را در دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش میدهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.
این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-14 01:19:04