از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Matplotlib Scatter Plot – آموزش و مثال
سرفصلهای مطلب
معرفی
Matplotlib یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون است. از تجسم های ساده گرفته تا پیچیده، این کتابخانه برای بیشتر افراد است.
در این راهنما، نگاهی به روش ترسیم یک Scatter Plot با Matplotlib.
نمودارهای پراکندگی رابطه بین دو متغیر عددی (ویژگی) یک مجموعه داده را بررسی می کند.
وارد کردن داده ها
ما از مسکن ایمز مجموعه داده و تجسم همبستگی بین ویژگی های آن.
اجازه دهید import پانداها و بارگذاری در مجموعه داده:
import pandas as pd
df = pd.read_csv('AmesHousing.csv')
طرح یک طرح پراکنده در Matplotlib
اکنون، با بارگذاری مجموعه داده، اجازه دهید import Matplotlib، تصمیم بگیرید روی ویژگی هایی که می خواهیم تجسم کنیم و a را بسازیم طرح پراکنده:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('AmesHousing.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df('Gr Liv Area'), y = df('SalePrice'))
plt.xlabel("Living Area Above Ground")
plt.ylabel("House Price")
plt.show()
در اینجا، با استفاده از نمونه PyPlot، یک نمودار ایجاد کردهایم و اندازه شکل را تنظیم میکنیم. با استفاده از برگشت داده شده Axes
شی، که از subplots()
تابع، ما به نام scatter()
تابع.
ما باید تامین کنیم x
و y
آرگومان ها به عنوان ویژگی هایی که می خواهیم برای پر کردن طرح استفاده کنیم. اجرای این کد نتیجه می دهد:
ما همچنین برچسب های x و y را برای نشان دادن آنچه که متغیرها نشان می دهند تنظیم کرده ایم. یک همبستگی مثبت واضح بین این دو متغیر وجود دارد. هر چه مساحت بالاتر از سطح زمین بیشتر باشد، قیمت خانه بالاتر بود.
چند مورد پرت وجود دارد، اما اکثریت قریب به اتفاق این فرضیه را دنبال می کنند.
رسم پلات های پراکندگی چندگانه در Matplotlib
اگر میخواهید بیش از یک متغیر را با متغیر دیگری مقایسه کنید، مانند – بررسی همبستگی بین کیفیت کلی خانه با قیمت فروش، و همچنین مساحت بالای سطح زمین – نیازی به ایجاد یک نمودار سه بعدی برای این.
در حالی که نمودارهای دوبعدی که همبستگی بین بیش از دو متغیر را تجسم می کنند وجود دارد، برخی از آنها کاملاً برای مبتدیان مناسب نیستند.
یک راه آسان برای انجام این کار، ترسیم دو قطعه است – در یکی، سطح زمین را در برابر قیمت فروش ترسیم می کنیم، در دیگری، کیفیت کلی را در برابر قیمت فروش ترسیم می کنیم.
بیایید نگاهی به روش انجام این کار بیندازیم:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('AmesHousing.csv')
fig, ax = plt.subplots(2, figsize=(10, 6))
ax(0).scatter(x = df('Gr Liv Area'), y = df('SalePrice'))
ax(0).set_xlabel("Living Area Above Ground")
ax(0).set_ylabel("House Price")
ax(1).scatter(x = df('Overall Qual'), y = df('SalePrice'))
ax(1).set_xlabel("Overall Quality")
ax(1).set_ylabel("House Price")
plt.show()
اینجا، ما تماس گرفتیم plt.subplots()
، گذراندن 2
نشان می دهد که ما می خواهیم دو طرح فرعی را در شکل نمونه برداری کنیم.
ما می توانیم از طریق Axes
نمونه، مثال – ax
. ax(0)
به محورهای طرح فرعی اول اشاره دارد، در حالی که ax(1)
به محورهای طرح فرعی دوم اشاره دارد.
در اینجا، ما به نام scatter()
تابع روی هر یک از آنها، برچسب هایی را برای آنها ارائه می دهد. اجرای این کد نتیجه می دهد:
ترسیم یک طرح پراکندگی سه بعدی در Matplotlib
اگر نمی خواهید این را در دو طرح فرعی مجزا تجسم کنید، می توانید همبستگی بین این متغیرها را به صورت سه بعدی ترسیم کنید. Matplotlib دارای قابلیت ترسیم سه بعدی داخلی است، بنابراین انجام این کار آسان است.
اول، ما نیاز داریم import را Axes3D
کلاس از mpl_toolkits.mplot3d
. این نوع خاص از Axes
برای تجسم سه بعدی مورد نیاز است. با آن، می توانیم در استدلال دیگری عبور کنیم – z
، که سومین ویژگی است که می خواهیم تجسم کنیم.
بریم جلو و import را Axes3D
شی و رسم نمودار پراکندگی در برابر سه ویژگی قبلی:
import matplotlib.pyplot as plt
import pandas as pd
from mpl_toolkits.mplot3d import Axes3D
df = pd.read_csv('AmesHousing.csv')
fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')
x = df('SalePrice')
y = df('Gr Liv Area')
z = df('Overall Qual')
ax.scatter(x, y, z)
ax.set_xlabel("Sale price")
ax.set_ylabel("Living area above ground level")
ax.set_zlabel("Overall quality")
plt.show()
اجرای این کد منجر به تجسم سه بعدی تعاملی می شود که می توانیم آن را در فضای سه بعدی بررسی و بررسی کنیم:
سفارشی کردن Scatter Plot در Matplotlib
شما میتوانید با ارائه آن، روش ظاهر طرح را تغییر دهید scatter()
تابع با آرگومان های اضافی، مانند color
، alpha
، و غیره:
ax.scatter(x = df('Gr Liv Area'), y = df('SalePrice'), color = "blue", edgecolors = "white", linewidths = 0.1, alpha = 0.7)
اجرای این کد باعث می شود:
نتیجه
در این آموزش، ما چندین روش برای ترسیم نمودار پراکندگی با استفاده از Matplotlib و Python را بررسی کرده ایم.
اگر به تجسم دادهها علاقه دارید و نمیدانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:
تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که برای جذب مبتدیان مطلق به پانداها و Matplotlib با دانش پایه پایتون طراحی شده است و به آنها اجازه می دهد تا پایه ای قوی برای کار پیشرفته با این کتابخانه ها ایجاد کنند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.
این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.
تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را از طریق دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش میدهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.
این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-15 14:02:03