رسم نمودار دایره ای در متلب
به نام خدا و سلام.
به جلسه بیست و پنجم از سری جلسات آموزش متلب خوش آمدید. آموزش متلب از وبسایت متلبپلاس به صورت تخصصی ارائه میشود. از جلسه بیست و یکم شروع به آموزش انواع مختلف نمودار در متلب کردهایم. در این جلسه نوبت به آموزش رسم نمودار دایره ای در متلب میرسد. نمودار دایره ای نوعی نمودار برای دادههای پیوسته میباشد. نحوه رسم نمودار دایره ای دو بعدی و سه بعدی، افزودن لیبل به بخشهای نمودار، افزودن عنوان و… از مباحث این جلسه هستند.
با متلب پلاس همراه باشید.
رسم نمودار دایره ای در متلب
نمودار دایره ای نوعی نمودار برای نمایش دادههای پیوسته است. در نمودار دایره ای سهم هر داده از کل محاسبه شده و روی یک دایره نمایش داده میشود. مجموع سهمهای نمودار دایره ای برابر با 100 درصد یا یک میباشد. برای رسم نمودار دایره ای در متلب از دستور pie استفاده میکنیم. pie(x) نمودار دایره ای اعضای x را رسم میکند. اگر مجموع دادههای x کمتر از یک باشد، نمودار دایره ای به طور ناقص رسم میشود. اما اگر مجموع دادههای x بزرگتر از یک باشد، ابتدا این دادهها نرمالایز شده و سپس رسم میشود. در واقع مقدار هر بخش از دایره، برابر با مقدار آن عضو تقسیم بر مجموع است. برای درک بهتر، به اولین مثال از رسم نمودار دایره ای در آموزش مقدماتی متلب دقت کنید.
x = [20 28 37 15];
pie(x)
باتوجه به اینکه مجموع بردار x برابر 100 است، به هر عضو آن، معادل خود آن سهم دایره اختصاص یافته. مقدار هر سهم از دایره نیز در کنار آن نمایش داده شدهاست. نام نمایش داده شده در کنار هر بخش از نمودار دایره ای قابل تغییر است.
نام گذاری بخشهای نمودار دایره ای
برای اختصاص نام به هر بخش از نمودار دایره ای، نامهای موردنظر را درون دستور pie قرار میدهیم. pie(x,labels) نامهای labels را به دادههای x اختصاص میدهد. labels بایستی از نوع رشته متن بوده و تعداد آن با تعداد اعضای x برابر باشد. برای درک بهتر به نمودار دایره ای زیر دقت کنید.
x = [13 15 61 9 2];
labels = {'NEW ENERGY','HYDRO','COAL', 'NATURAL GAS', 'NUCLEAR' };
pie(x,labels)
همانطور که در نمودار فوق دیده میشود، عناوین labels به ترتیب به دادههای x اختصاص یافتهاست.
جدا کردن بخشهای نمودار دایره ای (نمای انفجاری)
یک قابلیت جذاب در نمودارهای دایره ای، جدا کردن بخشی از نمودار برای تاکید یا زیبایی است. به این نوع نمایش اصطلاحا انفجاری (exploded) نیز گفته میشود. برای جدا کردن یک یا چند بخش از نمودار دایره ای در متلب، شماره بخشها در دستور pie وارد میشود. در واقع یک بردار ایجاد میکنیم که هم اندازه با بردار x باشد. درایههای این بردار بایستی یک و صفر باشند. درایه صفر به معنی خاموش بودن نمای انفجاری و یک به معنای نمای انفجاری است. مثال قبل را با نمای انفجاری برای بخش NATURAL GAS و HYDRO رسم میکنیم.
x = [13 15 61 9 2];
explode = [0 1 0 1 0];
labels = {'NEW ENERGY','HYDRO','COAL', 'NATURAL GAS', 'NUCLEAR' };
pie(x,explode,labels)
حتما دقت کنید که شمارههای explode قبل از عناوین labels بیایند.
افزودن عنوان به نمودار دایره ای
مشابه با رسم انواع نمودار در متلب، افزودن عنوان به نمودار دایره ای با title انجام میشود. کافیست متن موردنظر را درون کوتیشن در دستور title قرار دهیم.
رسم نمودارهای دایره ای در کنارهم
برای رسم چند نمودار دایره ای در کنار هم در یک پنجره از subplot استفاده میکنیم. subplot(m,n,p) پنجره را به m سطر و n ستون تقسیم میکند که فضای p آن فعال است. مثلا در شکل زیر دو نمودار دایره ای در یک صفحه رسم میکنیم که در یک سطر باشند. همچنین برای هر کدام یک عنوان درنظر میگیریم که قابل تشخیص باشند.
x = [89 14 19 87 88];
subplot(1,2,1);
pie(x,{'Coal','Other','Nuclear','Petro','Gas'})
title('1995');
y = [92 27 30 58 90];
subplot(1,2,2);
pie(y,{'Coal','Other','Nuclear','Petro','Gas'})
title('2005');
در شکل فوق از دستور title برای افزودن عنوان به هریک از نمودارهای دایره ای استفاده شده.
افزودن فهرست علائم (Legend) به نمودار دایره ای
فهرست علائم (Legend) به عنوان راهنمایی برای ببینده نمودار بکار میرود. با استفاده از Legend نمودارهای ما ظاهر زیباتری نیز خواهند داشت. برای افزودن فهرست راهنما به نمودار دایره ای در متلب از دستور legend استفاده میکنیم. عناوین موردنظر برای هر بخش از نمودار دایره ای در این دستور وارد میشوند. تعداد عناوین بایستی با تعداد بخشهای نمودار دایره ای برابر باشد. legend دارای ویژگیهایی مثل محل قرارگیری، جهت گیری و… است. در مثال زیر، فهرست علائم نمودار دایره ای را بصورت افقی و در پایین-خارج نمودار ایجاد میکنیم. جهت گیری افقی با horizontal و محل قراگیری فهرست نیز با southoutside مشخص شدهاست.
x = [4 5 1 7];
pie(x)
title('Pie Chart in Matlab');
leg = {'part1','part2','part3','part4'};
legend(leg,'Location','southoutside','Orientation','horizontal')
رسم نمودار دایره ای سه بعدی در متلب
برای رسم نمودار دایره ای سه بعدی در متلب از دستور pie3 استفاده میکنیم. طرز کار و استفاده از دستور pie3 کاملا مشابه با دستور pie است. فقط نمایش این نمودار به صورت سه بعدی خواهد بود. اولین مثال از رسم نمودار دایره ای در متلب (که در بالا ارائه شد) را به صورت سه بعدی رسم میکنیم.
x = [20 28 37 15];
pie3(x)
همهی مواردی که برای نمودار دایره ای دو بعدی بیان شد، برای سه بعدی نیز صادق است. جدا کردن بخشی از نمودار (نمای انفجاری)، افزودن عنوان، فهرست و… به همان صورت میباشد. در مثال زیر یک نمودار دایره ای سه بعدی رسم میکنیم که یک بخش آن جدا شده باشد. همچنین عنوان و فهرست علائم نیز به این نمودار اضافه میشود.
x = [12 48 31 27];
explode = [0 0 1 0];
pie3(x,explode)
title('3d-Pie Chart in Matlab');
leg = {'part1','part2','part3','part4'};
legend(leg,'Location','southoutside','Orientation','horizontal')
تنظیمات نمودار دایره ای در متلب
رسم نمودار دایره ای در متلب، دارای جزئیات بسیار زیادی است. مواردی مثل؛
- عنوان بخشهای نمودار دایره ای
- رنگ بندی نمودار دایره ای در متلب
- نوشتن حروف یونانی در متن یا عنوان
- نوشت فرمول ریاضی در متن یا عنوان
- رنگ بندی نمودار
- …
این جزئیات در رسم انواع نمودارها وجود دارد. به همین دلیل، این موارد را در بخش جزئیات آموزش رسم نمودار در متلب ارائه کردهایم. برای مشاهده این موارد روی لینک قرمز قبل کلیک نمائید.
تمرینات این جلسه
در انتهای این جلسه 3 تمرین متلب مربوط به مباحث این جلسه ارائه شده است. لطفا این تمرینها را حل کرده و با پاسخ آن مقایسه کنید. پاسخ تمرینات متلب این جلسه در کانال تلگرام متلب پلاس منتشر میشود. از آیکونهای سمت راست صفحه میتوانید در این کانال عضو شوید.
تمرین اول) نمودار دایره ای دو بعدی دادههای [12 4 6 19 8] را در متلب رسم کنید. با استفاده از explode، بخش سوم از این نمودار دایره ای را از نمودار جدا کنید.
تمرین دوم) دو نمودار دایره ای در کنار هم در متلب رسم کنید. دادهها به شرح زیر میباشد؛
- گروه A: [7 1 5 3 9 2]
- گروه B: [6 2 5 1 1 4]
عنوان هر گروه را روی نمودار مربوط به آن اضافه کنید.
تمرین سوم) پنجره نمایش نمودار را به یک سطر و دو ستون تبدیل کنید. نمودارهای دایره ای دو و سه بعدی دادههای زیر را در این دو محل رسم کنید.
دادهها به صورت [8 13 3 9 5] میباشند.
جمعبندی
جلسه بیست و پنجم از سری جلسات آموزش متلب به پایان رسید. این جلسه درباره رسم نمودار دایره ای در متلب صحبت کردیم. نمودار دایره ای برای رسم دادههای پیوسته در گروههای مختلف بکار میرود. نحوه رسم، تکنیکها و جزئیات متنوعی برای این نوع نمودار بیان شد. در انتها چند تمرین برای یادگیری بیشتر به شما واگذار کردیم که پاسخ آنها در کانال تلگرامی متلب پلاس وجود دارد. بی صبرانه منتظر نظرات، سوال و ابهامات شما عزیزان هستیم. سعی میکنیم تا هرگونه سوال یا ابهامی که در این باره دارید را پاسخ دهیم.
توصیه میشود که حتما تمرینات این جلسه را انجام بدید و اگر سوال و ابهامی دارید در بخش نظرات (پایین همین صفحه) به ما بگید. از فهرست سمت راست هم میتونید به بقیه جلسات دسترسی داشته باشید.
2 Comments
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام من به یک مشکل بر خوردم و این خطا برای من ظاهر میشه
>> pie(X)
Attempt to execute SCRIPT pie as a function:
C:\Users\HZD\Documents\MATLAB\pie.m
من هر کار میکنم نمیشه به خود نرم افزار شک دارم ؟
راهنمایی کنید ممنون میشم
سلام و عرض ادب
به نظر میرسه شما فایل کدنویسی (اسکریپت) با نام pie.m در متلب ایجاد کرده اید.
این کار برخلاف قانون متلب هست. نام هیچ فایلی نباید نام توابع و دستورات متلب باشه. این مورد رو چک کنید درست میشه.
موفق باشید.