در علم دادهها و تحلیل اطلاعات، رسم نمودارها از جمله ابزارهای بسیار مهمی است که به ما کمک میکند تا دادهها را به شکل تصویری تفسیر کنیم و الگوها، ارتباطات، و ویژگیهای مختلف آن ها را بشناسیم. دو نوع نمودار کلیدی در این زمینه شامل “نمودار پراکندگی” و “هیستوگرام” هستند که هر کدام وظایف مختلفی را برعهده دارند.
نمودار پراکندگی به ما اجازه میدهد تا رابطه بین دو متغیر را در یک دادهگیری یا مجموعه داده بررسی کنیم. این نمودار از نقاط روی یک صفحه تشکیل شده و هر نقطه نمایانگر یک نمونه از دادهها است. میتوان از رنگها و اندازههای نقاط برای اطلاعات بیشتر در مورد دادهها استفاده کرد.
از سوی دیگر، هیستوگرام به تجسم توزیع فراوانی یک متغیر پیوسته پرداخته و نشان میدهد که دادهها به چه توزیعی تمایل دارند. این نمودار معمولا به صورت ستونی از بازهها و تعداد دادهها در هر بازه نمایش داده میشود و میتواند به ما کمک کند تا مفهومی از توزیع دادهها درک کنیم.
در ادامه، به معرفی و توضیح دو نمودار مهم پراکندگی و هیستوگرام میپردازیم و با استفاده از مثالهایی، نحوه رسم و تفسیر این دو نمودار را مورد بررسی قرار میدهیم. همچنین، اهمیت و کاربردهای این نمودارها در تحلیل دادهها و انجام تحقیقات مختلف را بررسی میکنیم. این اطلاعات میتوانند به ما در ارتقاء فهم بهتری از دادهها و تصمیمگیریهای مبتنی بر آن ها کمک کنند.
در پایتون، برای رسم نمودار پراکندگی (Scatter Plot) و هیستوگرام (Histogram) میتوان از کتابخانههای متنوعی مانند Matplotlib و Seaborn استفاده کرد. در اینجا، نحوه رسم هر کدام از این نمودارها را توضیح داده و سپس سه مثال برای هرکدام ارائه می شود.
نمودار پراکندگی برای نشان دادن رابطه بین دو متغیر عددی استفاده میشود. در پایتون، میتوان از تابع ()scatter کتابخانه Matplotlib برای رسم نمودار پراکندگی استفاده کرد.
در این مثال، قصد داریم یک نمودار پراکندگی ساده را با استفاده از کتابخانه Matplotlib در پایتون رسم کنیم. ابتدا، دو لیست تصادفی از دادهها را ایجاد میکنیم و سپس آن ها را در یک نمودار پراکندگی نمایش میدهیم. در مثال شکل1، ابتدا دو لیست به نامهای x و y ایجاد کردیم که هر کدام مجموعهای از اعداد تصادفی را به عنوان دادههای محورهای X و Y نمایانگر میکنند.
سپس با استفاده از تابع ()scatter کتابخانه Matplotlib، نمودار پراکندگی ایجاد میشود. این تابع به ما اجازه میدهد تا دادههای محور X را در محور افقی و دادههای محور Y را در محور عمودی نمایش دهیم. با توابع title()، ()xlabel، و ()ylabel، ما عنوان نمودار و برچسبهای محورها را تنظیم میکنیم. در نهایت با فراخوانی ()show، نمودار نمایش داده میشود. نتیجه این مثال که در شکل1 نشان داده شده است، یک نمودار پراکندگی ساده با دادههایی از محورهای X و Y است که میتواند به ما کمک کند تا ارتباط بین دو متغیر را درک کنیم.
در مثال شکل2، قصد داریم یک نمودار پراکندگی را با استفاده از کتابخانه Matplotlib در پایتون رسم کنیم. این بار، میخواهیم نمودار پراکندگی را با رنگهای متفاوت برای نقاط نمایش دهیم. در این مثال، از کتابخانه NumPy نیز استفاده میکنیم تا دادههای تصادفی برای محورهای X و Y ایجاد کنیم. توجه کنید که ما از تابع ()rand برای تولید اعداد تصادفی استفاده میکنیم که بین 0 و 1 قرار میگیرند.
همچنین، میخواهیم نقاط نمایش داده شده در نمودار با رنگهای متفاوت نمایش داده شوند. برای این کار، یک لیست تصادفی از رنگها تولید میکنیم. با استفاده از پارامتر c در تابع ()scatter، میتوانیم این رنگها را به نمودار اعمال کنیم. همچنین، با استفاده از cmap، ماپ رنگی را انتخاب میکنیم که در اینجا از ماپ “viridis” استفاده شده است. با فراخوانی ()colorbar، نوار رنگها به نمودار اضافه میشود. سایر تنظیمات نیز به همان شکل قبلی اعمال میشوند.
نتیجه این مثال یک نمودار پراکندگی با رنگهای متفاوت برای نقاط دادهها است. این نوع نمودار به ما امکان میدهد تا دادهها را با توجه به متغیر دیگری مانند رنگ یا اندازه نمایش دهیم و الگوهای مختلفی را بررسی کنیم. خروجی ایجاد شده از این مثال در شکل2 نشان داده شده است.
در مثال بیان شده در شکل3، می خواهیم یک نمودار پراکندگی را با استفاده از کتابخانه Matplotlib در پایتون رسم کنیم. این بار، قصد داریم نقاط نمایش داده شده در نمودار با اندازههای متفاوت نمایش دهیم. در این مثال، ما نیز از کتابخانه NumPy استفاده میکنیم تا دادههای تصادفی برای محورهای X و Y ایجاد کنیم. همچنین، برای ایجاد اندازههای تصادفی برای نقاط، یک لیست تصادفی به نام sizes تولید میکنیم که از اعداد تصادفی ضرب شده در 100 تشکیل شده است.
در نمودار پراکندگی، با استفاده از پارامتر s در تابع ()scatter، میتوانیم اندازه نقاط را بر اساس مقادیر موجود در لیست sizes تعیین کنیم. این امکان به ما میدهد تا نقاط با اندازههای متفاوت در نمودار نمایش داده شوند. پارامتر alpha نیز برای تنظیم شفافیت نقاط استفاده شده است. با تنظیم مقدار کمتری برای alpha، نقاط به صورت شفافتری نمایش داده میشوند. تنظیمات دیگر مانند عنوان نمودار و برچسبهای محورها به همان شکل قبلی اعمال میشوند.
نتیجه این مثال یک نمودار پراکندگی با نقاطی با اندازههای متفاوت است که میتواند به ما در تجسم دادهها با توجه به اندازه نقاط کمک کند. این نوع نمودار معمولا برای نمایش دادههایی که دارای ویژگیهای مختلفی هستند و میخواهیم این ویژگیها را در یک نمودار تجسم کنیم، مناسب است.
ما قصد داریم یک هیستوگرام ساده را با استفاده از کتابخانه Matplotlib در پایتون رسم کنیم. هیستوگرام یک نمودار است که به تجسم توزیع فراوانی متغیر پیوسته میپردازد. در مثال مطرح شده در شکل4، ابتدا یک مجموعه از دادههای تصادفی با استفاده از کتابخانه NumPy ایجاد میکنیم. این دادهها از توزیع نرمال با اندازه 1000 نمونه تولید میشوند. سپس با استفاده از تابع ()hist کتابخانه Matplotlib، هیستوگرام ایجاد میشود. در اینجا، ما تعداد بازهها (bins) را برابر با 20 تعیین کردهایم. هیستوگرام نمایانگر توزیع تعداد دادهها در هر بازه است. با توابع title()،()xlabel، و ()ylabel، ما عنوان نمودار و برچسبهای محورها را تنظیم میکنیم. در نهایت با فراخوانی ()show، نمودار نمایش داده میشود.
نتیجه این مثال یک هیستوگرام ساده از دادههای تصادفی تولید شده از توزیع نرمال است. این نوع نمودار به ما امکان میدهد تا توزیع فراوانی دادهها را در یک بازه مشخص مشاهده کنیم و درک بهتری از توزیع دادهها داشته باشیم.
در این مثال، ما قصد داریم یک هیستوگرام با تنظیمات متنوع را با استفاده از کتابخانه Matplotlib در پایتون رسم کنیم. هیستوگرام به ما این امکان را میدهد که توزیع فراوانی دادهها را با تنظیمات مختلفی نمایش دهیم. در مثال نشان داده شده در شکل5، ما یک مجموعه از دادههای تصادفی با استفاده از کتابخانه NumPy ایجاد میکنیم. این دادهها از توزیع نرمال با اندازه 1000 نمونه تولید میشوند. در اینجا تعداد بازهها (bins) برابر با 20 تعیین شده است. از پارامتر color برای تغییر رنگ هیستوگرام و از alpha برای تنظیم شفافیت آن استفاده شده است. پارامتر density=True به ما این امکان را میدهد تا هیستوگرام را به صورت نرمالشده نمایش دهیم، به این معنی که مجموع تمام مساحتهای زیر بازهها برابر با یک خواهد بود.
با تنظیم cumulative=True، ما هیستوگرام را به صورت نمودار تجمعی نمایش میدهیم که نسبت تجمعی دادهها در بازهها را نمایش میدهد. تنظیمات دیگر نیز شامل عنوان نمودار، برچسبهای محورها و نمایش خطوط شبکه در پسزمینه هیستوگرام هستند. نتیجه این مثال یک هیستوگرام با تنظیمات متنوع است که شامل رنگهای متفاوت، شفافیت، تجمعی بودن و نرمالشده بودن دادهها میشود. این تنظیمات به ما امکان میدهند تا اطلاعات بیشتری از توزیع دادهها را دریافت کنیم و آن ها را با دقت بیشتری تجزیه و تحلیل کنیم.
در مثال مطرح شده در شکل6، هدف ترسیم یک هیستوگرام با چند دستهبندی (subplots) است. این به ما امکان میدهد تا چندین هیستوگرام با تنظیمات مختلف را در یک نمودار ایجاد کنیم. در این مثال نیز، ما از کتابخانه NumPy برای ایجاد دادههای تصادفی از توزیع نرمال استفاده میکنیم. ما تعداد دستهبندیهای مختلف را با استفاده از لیست num_bins ایجاد میکنیم. در این مثال، ما سه تعداد دستهبندی مختلف انتخاب کردهایم (10، 20، و 30).
با استفاده از تابع ()subplots، تصاویر فرعی (subplots) را ایجاد میکنیم تا هیستوگرامها در آن ها نمایش داده شوند. تعداد تصاویر فرعی برابر با تعداد دستهبندیها است. در یک حلقه for، ما هر هیستوگرام را با تعداد دستهبندی مختلف رسم میکنیم. هر هیستوگرام در یک تصویر فرعی جداگانه قرار میگیرد و تنظیمات تصاویر فرعی انجام میشود.
تنظیمات دیگر مانند رنگ هیستوگرام، شفافیت، عنوان نمودار و برچسبهای محورها نیز تنظیم میشوند. با فراخوانی ()tight_layout، فاصلهها و اندازههای تصاویر فرعی بهینهسازی میشوند. در نهایت با فراخوانی ()show، تمام تصاویر فرعی و هیستوگرامها در یک نمودار اصلی نمایش داده میشوند. نتیجه این مثال سه هیستوگرام با تعداد دستهبندیهای مختلف است که همه در یک نمودار اصلی نمایش داده شدهاند. این نوع نمودار مفید است زمانی که میخواهید توزیع دادهها را با دقت در تعداد مختلفی از دستهبندیها بررسی کنید.
دیدگاه ها