Matplotlib Scatter
نمودار پراکنده
برای رسم یک نمودار پراکنده از تابع scatter()
استفاده میکنیم.
این تابع برای هر مشاهده یک نقطه رسم میکند. به دو آرایه هم اندازه نیاز دارد، یکی برای مقادیر محور x و دیگر برای مقادیر محور y.
مشاهدات مثال بالا در مورد 13 ماشینی عبوری است.
محور x سن ماشین را نشان میدهد.
محور y سرعتی که ماشین عبور کرده است را نشان میدهد.
آیا هیچ ارتباطی بین مشاهدات ما وجود دارد؟
به نظر میرسد که هر چه ماشین جدیدتر باشد سرعتش بیشتر است. ولی این ممکن است تنها یک اتفاق باشد و ما تنها 13 داده را ثبت کردهایم.
مقایسه نمودارها
در مثال بالا به نظر میرسد که بین سن و سرعت ماشین ارتباطی وجود دارد ولی اگر دادهها را برای یک روز دیگر رسم کنیم چطور؟ آیا نمودار پراکنده چیز دیگری به ما خواهد گفت؟
با مقایسه دو نمودار به نظر میرسد میتوان گفت که هر دو یک نتیجه را میدهند: ماشینهای جدیدتر سریعتر عبور میکنند.
رنگها
میتوانید رنگ دلخواه خود را برای هر نمودار پراکنده بوسیله آرگومان color
یا c
تعیین کنید.
رنگ مجزا برای هر نقطه
حتی میتوان برای هر نقطه مشاهده در نمودار یک رنگ مجزا انتخاب کرد. تنها کافی است مجموعهای از رنگها را به صورت یک آرایه به آرگومان c
بدهید.
c
استفاده کرد و آرگومان color
را نمیتوان به کار برد.
ColorMap
راهنمای رنگ یا ColorMap مانند یک لیست از رنگها است که هر رنگ مقدار خاص خود را دارد.
Matplotlib دارای راهنماهای رنگ بسیار زیادی است. در زیر یک نمونه از آن را که به اسم 'viridis' مشهور است، نشان دادهایم. در این راهنمای رنگ، پایینترین مقدار به رنگ بنفش و بالاترین مقدار به رنگ زرد اختصاص داده شده است.
چگونه از راهنمای رنگ استفاده کنیم؟
میتوانید با استفاده از آرگومان cmap
نوع colormap را مشخص و سپس با استفاده از دستور plt.colorbar()
آن را در شکل نمودار وارد کنید.
اندازه
برای تغییر اندازه نقاط میتوانید از آرگومان s
استفاده کنید.
دقیقاً مانند آرگومان c
اینجا هم باید طول آرایه اندازه نقاط با طول نقاط x و y همخوانی داشته باشد.
Alpha
با استفاده از آرگومان alpha
میتوانید شفافیت هر نقطه را تعیین کنید.
ترکیب رنگ، اندازه و آلفا
مشاهده شد که میتوان برای هر نقطه یک اندازه متفاوت در نظر گرفت. این کار زمانی بهترین نتیجه را حاصل میکند که نقاط به صورت شفاف باشند.