رسم نمودار میله ای در متلب
در این پست از مجموعه آموزشهای متلب، میخواهیم با نحوه رسم نمودار میله ای در متلب آشنا شویم. نمودارهای میلهای ابزاری برای مصورسازی دادهها هستند. این نمودارها برای نمایش دادههای categorical معمولا استفاده میشوند. در این پست میخواهیم نحوه رسم نمودار میله ای در متلب را به صورت دو بعدی آموزش دهیم. با هوسم همراه باشید…
دستور bar در متلب
برای رسم نمودار میله ای در متلب به صورت دو بعدی از دستور bar در متلب استفاده میشود. استفاده از این دستور بسیار ساده است. در عین سادگی این دستور امکاناتی در اختیارتان میگذارد که میتوان به کمک آنها ظاهر نمودار را به کلی تغییر داد. در ادامه همه این امکانات را بررسی خواهیم کرد.
-
رسم نمودار میله ای در متلب به صورت دو بعدی
برای رسم نمودار میله ای دوبعدی در متلب از دستور bar استفاده میکنیم. کار کردن با این دستور بسیار ساده است. ما در قالب چند مثال نحوه استفاده از آن را آموزش خواهیم داد. فرض کنید برداری به نام data_1 با مقادیر زیر داریم:
data_1 = [123 91 105 75 150 131];
فرض کنید این دادهها تعداد فروش یک مغازه در یک هفته را نشان دهند. برای رسم نمودار میله ای در متلب برای این بردار، کافی است بنویسیم:
bar(data_1)
با اجرای کد بالا خواهیم داشت:
مشاهده میکنید که نمودار میله ای مربوط به این بردار به راحتی رسم شد. زیاد ظاهر نمودار دلچسب نیست نه؟ برویم کمی ظاهر نمودار را تغییر دهیم…
تغییر ظاهر نمودار میله ای در متلب
-
تغییر رنگ نمودار میله ای در متلب
شاید اولین چیزی که با دیدن نمودار بالا به ذهن میرسد، تغییر رنگ است. تغییر رنگ در نمودار میله ای همانند نمودارهای دیگر در متلب است. رنگهایی که میتوان برای رسم نمودار استفاده کرد، در جدول زیر آورده شدهاند. هر رنگ، یک نام کوتاه شده برای خودش دارد. در دستورهای مربوط به رسم نمودار میتوان از نام رنگ و یا نام کوتاه شده آن استفاده کرد.
نام رنگ | نام کوتاه شده |
قرمز (red) | ‘r’ |
سبز (green) | ‘g’ |
آبی (blue) | ‘b’ |
فیروزهای (cyan) | ‘c’ |
ارغوانی (magenta) | ‘m’ |
زرد (yellow) | ‘y’ |
سیاه (black) | ‘k’ |
مشاهده میکنید که در شکل بالا 7 رنگ آورده شده است. برای تغییر رنگ نمودار به رنگ قرمز کافی است بنویسیم:
bar(data_1, 'red')
یا میتوانیم بنویسیم:
bar(data_1, 'r')
با اجرای هرکدام از دو کد بالا خواهیم داشت:
bar(data_1, 'g')
-
اضافه کردن عنوان برای هر میله
در نمودارهایی که تاکنون رسم کردیم، محور افقی یک عدد بود که آنها را نیز ما انتخاب نکردهایم. مثلا فرض کنید که 6 میله ای که رسم شده اند مربوط به 6 روز هر هفته باشند. و ما میخواهیم زیر هر میله از نمودار، یکی از روزهای هفته نوشته شده باشد. برای این کار ابتدا یک بردار categorical میسازیم و روزهای هفته را در آن ذخیره میکنیم. سپس مینویسیم:
x = categorical({'sat', 'sun', 'mon', 'tue', 'wed', 'thu'}); bar(x, data_1)
با اجرای کد بالا داریم:
مشاهده میکنید که روزهای هفته روی محور افقی نمایش داده شده است. اگر دقت کنید، متوجه خواهید شد که نمودار نسبت به پلاتهای قبلی تغییر کرده است. نمودار تغییر نکرده بلکه دادهها روی محور افقی به ترتیب حروف الفبا مرتب شدهاند. برای اینکه این اتفاق نیفتد، بعد از تعریف متغیر categorical، باید ترتیب را هم مشخص کنیم:
x = categorical({'sat', 'sun', 'mon', 'tue', 'wed', 'thu'}); x = reordercats(x, {'sat', 'sun', 'mon', 'tue', 'wed', 'thu'}) bar(x, data_1)
با اجرای دستور بالا خواهیم داشت:
مشاهده میکنید که ترتیب دادهها اصلاح شده است. اینم از این! برویم سراغ بخش بعدی…
-
تغییر ضخامت میلهها در نمودار
تغییر ضخامت میلهها در نمودار بسیار ساده است. کافی است علاوه بر بردار داده، یک عدد بین صفر و یک وارد کنیم. این عدد مشخص میکند که ضخامت میلهها چند درصد از ضخامت پیشفرض باشد. مثلا فرض کنید که بخواهیم ضخامت میلهها را نصف کنیم. برای این کار چه عددی باید وارد کنیم؟؟ 0.5 درست است؟ ببینیم:
bar(data_1, 0.5)
با اجرای کد بالا خواهیم شد:
مشاهده میکنید که ضخامت میلهها نصف شده است. به همین سادگی!!
رسم نمودار میله ای در متلب برای چند داده
گفتیم دادههای data_1 تعداد فروش یک مغازه در یک هفته را نشان میدهد. فرض کنید حالا تعداد فروش دو مغازه دیگر را نیز داریم و میخواهیم این سه مغازه را با هم مقایسه کنیم. ابتدا باید دادهها را در یک ماتریس و به صورت ستونی کنار هم قرار دهیم. یعنی هر ستون مربوط به داده های یک مغازه باشد:
>> data_2 = [123 69 200; 91 48 136; 105 93 97; 75 49 153; 150 78 269; 131 64 148]
حالا به دو شکل میتوانیم این دادهها را رسم کنیم:
-
رسم نمودارها در کنار هم
برای اینکه نمودارها را در کنار هم رسم کنیم، از دستور bar به شکل قبل استفاده میکنیم:
bar(data_2)
بعد از اجرای کد بالا خواهیم داشت:
مشاهده میکنید که مقدار فروش هر سه مغازه در کنار هم رسم شده است.
-
رسم نمودارها چسبیده به هم
دادههای سه مغازه را به شکل دیگری نیز میتوان در کنار هم رسم کرد! فرض کنید این سه مغازه، سه شعبه از یک فروشگاه زنجیرهای باشند. و ما بخواهیم میزان فروش کلی این فروشگاه زنجیرهای را به کمک bar رسم کنیم. در عین حال، میخواهیم سهم هر شعبه مشخص باشد! برای این کار کافی است در ورودی bar، عبارت ‘stacked’ را اضافه میکنیم:
bar(data_2, 'stacked')
با اجرای کد بالا خواهیم داشت:
تغییر رنگ میلهها در نمودار به صورت دلخواه
در بخشهای قبلی گفتیم که چطور رنگ نمودار را تغییر دهیم. اما این رنگها بسیار محدود بودند. از قضا این رنگها بسیااااار نچسب هم هستند. شاید دلتان بخواهد رنگهای زیباتری برای نمودارهایتان انتخاب کنید! آیا چنین کاری امکانپذیر است؟ البته که هست. علاوه بر رنگ نمودار، میتوان رنگ border و ضخامت آن را نیز تغییر داد. در ادامه هرسه مورد ذکر شده بررسی خواهند شد:
-
استفاده از FaceColor در متلب
برای تغییر رنگ نمودار میتوان از FaceColor استفاده کرد. اما چطور به متلب بفهمانیم که رنگ دلخواهمان کدام است؟ برای فهماندن رنگ به دستور bar، کافی است کد RGB آن رنگ را به شکل زیر به دستور bar بدهیم:
bar(data_1 ,'FaceColor',[0 .5 .5])
هر کدام از اعدادی که وارد کردیم نشان میدهند که رنگی که انتخاب کردیم چه مقدار از رنگهای اصلی یعنی قرمز، سبز و آبی را در خود دارد. با اجرای کد بالا خواهیم داشت:
مشاهده میکنید که رنگ نمودار به سبز کله غازی (فکر میکنم کله غازی باشه!😅) تغییر کرده است. برویم رنگ border را نیز تغییر دهیم…
-
تغییر رنگ border با EdgeColor
رنگ border هر میله را نیز میتوان تغییر داد. برای این کار از EdgeColor میتوان استفاده کرد. مشابه با FaceColor ، باید کد RGB رنگ را مشخص کنیم:
bar(data_1, 'EdgeColor',[0.9 0 0])
با اجرای کد بالا خواهیم داشت:
مشاهده میکنید که رنگ border به قرمز تغییر کرده. به همین ترتیب میتوانید رنگهای دلخواه خودتان را برای border انتخاب کنید.
-
تغییر ضخامت border با LineWidth
قبلا نحوه تغییر ضخامت میلهها در نمودار میلهای را آموزش دادیم. در این بخش میخواهیم نحوه تغییر ضخامت border در هر میله را آموزش دهیم. برای این کار از LineWidth استفاده میکنیم:
bar(data_1, 'LineWidth', 1.5)
با اجرای کد بالا خواهیم داشت:
ضخامت border را 1.5 در نظر گرفتیم. مشاهده میکنید که ضخامت border افزایش یافته و تغییرات به وضوح قابل تشخیص هستند.
-
استفاده از FaceColor، EdgeColor و LineWidth با هم
میتوان به صورت همزمان رنگ رویه و border و ضخامت border را تغییر داد. برای این کار کافی است سه موردی که در بالا گفتیم را با هم استفاده کنیم!
bar(data_1, 'FaceColor',[0 .5 .5], 'EdgeColor',[0.9 0 0], 'LineWidth', 1.5)
با اجرای کد بالا خواهیم داشت:
مشاهده میکنید که رنگ رویه و border و ضخامت border تغییر کردهاند. به همین شکل بعد از رسم نمودار میله ای در متلب ، میتوانید ظاهر آن را به میل خودتان تغییر دهید.
جمعبندی
در این پست با نحوه رسم نمودار میله ای در متلب آشنا شدیم. همچنین توانستیم ظاهر نمودار را به میل خود تغییر دهیم. امیدوارم این آموزش مورد توجه شما قرار گرفته باشد. سوالات و نظرات خود را در کامنتها مطرح کنید. در اسرع وقت به کامنتهایتان پاسخ داده خواهد شد.
مطالب زیر را حتما مطالعه کنید
تعریف متغیر در متلب
آموزش متلب رایگان
دستور max در متلب
دستور محاسبه انتگرال در متلب
دستور input در متلب
دستور ezplot در متلب
3 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
besyar khob va mofid montazere maqale haye badi shoma hastim
متشکرم خیلی خوب
ممنون 🌹🙏