از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Plotly Scatter Plot – آموزش همراه با مثال
سرفصلهای مطلب
معرفی
توطئه یک کتابخانه تجسم داده های پایتون مبتنی بر جاوا اسکریپت است که متمرکز است روی در ارتباط بودن و مبتنی بر وب تجسم ها این سادگی Seaborn، با API سطح بالا، و همچنین تعامل Bokeh را دارد.
علاوه بر عملکرد کتابخانه اصلی، با استفاده از داخلی Plotly Express با خط تیره، آن را به یک انتخاب شگفت انگیز برای برنامه های کاربردی مبتنی بر وب و داشبوردهای تعاملی مبتنی بر داده، که معمولاً به زبان نوشته می شوند، تبدیل می کند. فلاسک.
در این راهنما، نگاهی به چگونه با Plotly یک Scatter Plot ترسیم کنیم.
نمودارهای پراکندگی رابطه بین دو متغیر عددی (ویژگی) یک مجموعه داده را بررسی می کند.
وارد کردن داده ها
ما با آن کار خواهیم کرد مجموعه داده های حمله قلبی از Kaggle که حاوی داده است روی معیارهای مختلف بدنی که میتوانیم به عنوان شاخصهای احتمال حمله قلبی استفاده کنیم.
اجازه دهید import مجموعه داده و print را head()
برای نگاه کردن:
import pandas as pd
df = pd.read_csv('heart.csv')
print(df.head())
این نتیجه در:
age cp trtbps chol fbs restecg thalachh exng oldpeak slp caa output
0 63 3 145 233 1 0 150 0 2.3 0 0 1
1 37 2 130 250 0 1 187 0 3.5 0 0 1
2 41 1 130 204 0 0 172 0 1.4 2 0 1
3 56 1 120 236 0 1 178 0 0.8 2 0 1
4 57 0 120 354 0 1 163 1 0.6 2 0 1
بیایید روابط بین ویژگی هایی مانند thalachh
(حداکثر ضربان قلب ثبت شده)، trtbps
(فشار خون در حالت استراحت)، chol
(میزان کلسترول) و output
(0
یا 1
، به ترتیب نشان دهنده شانس کمتر یا بالاتر برای تجربه حمله قلبی).
ابتدا، بیایید جلو برویم و ویژگیهای خود را بهخاطر اختصار به طور جداگانه ذخیره کنیم:
max_heartrate = df('thalachh')
resting_blood_pressure = df('trtbps')
cholesterol_level = df('chol')
output = df('output')
با پلاتلی یک طرح پراکنده ترسیم کنید
در نهایت، ما می توانیم جلو برویم و طرح یک طرح پراکنده. بیایید پیش برویم و ابتدا رابطه بین را بررسی کنیم max_heartrate
و cholesterol_level
. برای ترسیم یک Scatter Plot با Plotly، از آن استفاده می کنیم scatter()
عملکرد Plotly Express (px
) نمونه، مثال:
fig = px.scatter(x=cholesterol_level, y=max_heartrate)
fig.show()
تنها آرگومان های مورد نیاز عبارتند از x
و y
ویژگی هایی که یک Scatter Plot (بدون برچسب محور) را در یک سرور چرخانده شده ترسیم می کند. روی مرورگر انتخابی شما:
از طرف دیگر، اگر نمیخواهید متغیرهای خود را از قبل تعریف کنید، Plotly دقیقاً همان نحو Seaborn را ارائه میکند – منبع داده را مشخص میکنید و نام ها از ویژگی هایی که می خواهید تجسم کنید. این ویژگیها را به برچسبها نگاشت میکند و مستقیماً بدون نیاز به مشخص کردن ویژگیها مانند قبل، آنها را رسم میکند:
import pandas as pd
import plotly.express as px
df = pd.read_csv('heart.csv')
fig = px.scatter(df, x='chol', y='thalachh')
fig.show()
این نتیجه در:
توجه داشته باشید: شما همچنین می توانید مخلوطی از این رویکردها را انجام دهید، جایی که خود را تامین می کنید DataFrame
به عنوان منبع، بلکه از متغیرهای از پیش تعریف شده به جای ارجاع به نام ستون های ویژگی در آن استفاده کنید scatter()
زنگ زدن:
fig = px.scatter(df, x=cholesterol_level, y=max_heartrate)
fig.show()
این منجر به یک نمودار پراکندگی برچسب نیز می شود:
به نظر نمی رسد ارتباط زیادی بین سطح کلسترول و حداکثر ضربان قلب افراد در این مجموعه داده وجود داشته باشد.
سفارشی کردن یک طرح پراکنده
اکنون، ما به ندرت تجسم می کنیم قطعه های ساده. نکته این است که به طور شهودی ویژگی های خاصی از داده ها را تجسم کنید.
در مورد ما، این ممکن است بسته به رنگ کردن نشانگرها باشد روی را output
ویژگی یا اضافه کردن hover_data
، که آنچه نشان داده شده را مشخص می کند روی نشانگرها وقتی شخصی روی آنها معلق می شود.
در حال حاضر، hover_data
خیلی مفید نیست ، فقط به ما نشان می دهد x
و y
مقادیری که قبلاً میتوان به طور منطقی از مشاهده نمودار حاصل استنباط کرد.
بیایید جلو برویم و چند پارامتر را تغییر دهیم تا این نمودار کمی بصری تر شود:
import pandas as pd
import plotly.express as px
df = pd.read_csv('heart.csv')
fig = px.scatter(df, x='chol', y='thalachh', color='output', hover_data=('sex', 'age'))
fig.show()
ما تنظیم کرده ایم color
از هر نشانگر برای نقشه برداری به output
ویژگی، رنگ آمیزی بیشتر و کمتر شانس تجربه حمله قلبی در رنگ های مختلف. ما همچنین شامل sex
و age
از هر فرد روی نشانگرهای آنها
این نتیجه در:
در نهایت، شما همچنین می توانید اندازه نشانگر را تغییر دهید، یا آن را با یک مقدار اسکالر (مانند 5
) به fig.update_traces()
روش، یا با ارسال یک مقدار برداری (مانند نگاشت اندازه به یک ویژگی) به size
بحث و جدل.
بیایید نقشه برداری کنیم oldpeak
ویژگی با اندازه هر نشانگر:
import pandas as pd
import plotly.express as px
df = pd.read_csv('heart.csv')
fig = px.scatter(df, x='chol',
y='thalachh',
color='output',
size='oldpeak',
hover_data=('sex', 'age'))
fig.show()
اکنون، هر نشانگر بسته به اندازه متغیری خواهد داشت روی ارزش های oldpeak
ویژگی:
یا، اگر میخواهید به طور خاص همه نشانگرها را با اندازه ثابت و یکسان بسازید، میتوانید آن را بهروزرسانی کنید Figure
آثار :
import pandas as pd
import plotly.express as px
df = pd.read_csv('heart.csv')
fig = px.scatter(df, x='chol',
y='thalachh',
color='output',
hover_data=('sex', 'age'))
fig.update_traces(marker={'size': 10})
fig.show()
این نتیجه در:
نتیجه
در این راهنما، ما نگاهی به روش ترسیم یک Scatter Plot با استفاده از Python و Plotly انداختهایم.
اگر به تجسم دادهها علاقه دارید و نمیدانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:
تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که طراحی شده است تا مبتدیان مطلق را با دانش پایه پایتون به Pandas و Matplotlib ببرد و به آنها اجازه دهد پایه ای قوی برای کار پیشرفته با این کتابخانه ها بسازند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.
این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.
تجسم داده ها در پایتونکتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را از طریق دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش میدهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.
این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-11 09:14:07