آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

نویسنده: لرنیکس
آخرین بروزرسانی: ۱۴۰۱/۱۲/۱۴
بازدیدها: ۵۶۰

یکی از قابلیت‌های نرم‌افزار متلب (MATLAB) اضافه کردن خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بُعدی (2D) و سه بُعدی (3D) است. وجود خطوط شبکه یا گرید روی نمودار، به خوانایی و درک بهتر آن کمک می‌کند. در نرم‌افزار متلب، امکان تغییر مکان، تراکم، استایل، رنگ و سایر ویژگی‌های خطوط شبکه وجود دارد. در ادامه، نحوه نمایش خطوط شبکه (گرید) و سفارشی‌سازی آن به طور کامل شرح داده می‌شود.

 

آموزش نمایش خطوط شبکه اصلی یا گرید اصلی (Major Grid) روی انواع نمودارها در نرم‌افزار متلب

توابع مختلفی برای رسم انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب وجود دارد که از میان آن‌ها می‌توان به توابع زیر اشاره کرد:

- تابع plot
- تابع plot3
- تابع ezplot
- تابع polarplot
- تابع scatter
- تابع scatter3
- تابع surf
- تابع bar
- تابع bar3
- تابع area
- و ...

 

در مثال‌های موجود در این آموزش، از تابع plot استفاده شده‌است؛ نحوه نمایش و سفارشی‌سازی خطوط شبکه یا گرید برای تمام توابع به یک صورت است. با استفاده از کد زیر، یک نمودار دلخواه به صورت شکل 1 رسم می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 1 – رسم نمودار دلخواه با استفاده از تابع plot در نرم‌افزار متلب

برای فعال شدن خطوط شبکه اصلی (گرید اصلی) روی نمودار، کافیست دستور grid on پس از رسم نمودار اجرا شود. به عبارت دیگر، برای نمایش خطوط شبکه اصلی (گرید اصلی)، پس از تابعی که برای رسم نمودار استفاده شده‌است، دستور grid on نوشته می‌شود. به عنوان مثال، برای نمایش خطوط شبکه اصلی (گرید اصلی) روی یک نمودار دلخواه که با استفاده از تابع plot رسم شده‌است، کد زیر نوشته می‌شود. با اجرای کد زیر، نمودار مطابق شکل 2 به همراه خطوط شبکه اصلی نمایش داده می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 2 – نمایش خطوط شبکه اصلی یا گرید اصلی (Major Grid) روی نمودار

قابل ذکر است در کد بالا، بین تابع plot و دستور grid on می‌توان کدهای دیگری را نیز نوشته و اجرا کرد. تنها کافیست دستور grid on پس از تابع plot اجرا شود. همچنین برای اجرای دستور grid on، می‌توان تنها عبارت grid را نوشته و اجرا کرد. اجرای دستور grid و grid on هر دو منجر به نمایش خطوط شبکه اصلی (گرید اصلی) می‌شوند.

 

آموزش نمایش خطوط شبکه فرعی یا گرید فرعی (Minor Grid) روی انواع نمودارها در نرم‌افزار متلب

در کنار خطوط شبکه اصلی که در قسمت قبل توضیح داده شد، خطوط شبکه فرعی (گرید فرعی) نیز وجود دارد که بین خطوط اصلی رسم می‌شوند و به این ترتیب تراکم خطوط شبکه را افزایش می‌دهند. برای فعال شدن خطوط شبکه فرعی (گرید فرعی) کافیست پس از دستور grid on، دستور grid minor اجرا شود. به عنوان مثال، برای نمایش خطوط شبکه فرعی (گرید فرعی) روی نمودار شکل 2، کد زیر نوشته می‌شود که نتیجه آن در شکل 3 نمایش داده شده‌است.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

grid minor

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 3 – نمایش خطوط شبکه فرعی یا گرید فرعی (Minor Grid) روی نمودار

 

آموزش نمایش خطوط شبکه یا گرید (Grid) در محل‌های دلخواه روی نمودار در نرم‌افزار متلب

در نرم‌افزار متلب از نسخه R2016b به بعد، می‌توان محل خط‌نشان‌ها (tick) یا برجستگی‌های موجود روی محورهای نمودار را به دلخواه تغییر داد. در شکل 4، خط‌نشان‌ها با دایره‌های قرمز رنگ مشخص شده‌اند که مقدار عددی آن‌ها نیز در کنارشان درج شده‌است.

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 4 - خط‌نشان‌های محورهای نمودار در نرم‌افزار متلب

در حالت پیش‌فرض، متلب به صورت خودکار تعداد و محل قرارگیری خط‌نشان‌ها (tick) را تعیین می‌کند، اما با استفاده از توابع xticks، yticks و zticks می‌توان محل قرارگیری خط‌نشان‌ها را به ترتیب روی محورهای x و y و z تعیین کرد. به عنوان مثال، در نمودار شکل 1، برای نمایش خط‌نشان (tick) در نقاط 1 و 2 و 3 روی محور x و در نقاط 0 و 0.5 و 1 روی محور y، کد زیر نوشته می‌شود. با اجرای کد زیر، نمودار مطابق شکل 5 رسم می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

xticks([1 2 3])

yticks([0 0.5 1])

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 5 – تغییر محل خط‌نشان‌های محورهای نمودار

در کد بالا، با توجه به دو بعدی بودن نمودار، تنها از توابع xticks و yticks استفاده شده‌است. در صورتی که نمودار سه بعدی باشد، می‌توان از تابع zticks برای تعیین محل خط‌نشان‌های محور z استفاده کرد. قابل ذکر است الزاماً نیازی نیست به طور همزمان از توابع xticks، yticks و zticks استفاده شود. به عنوان مثال، ممکن است در یک نمودار سه بعدی، تنها بخواهیم محل خط‌نشان‌های محور x را تغییر دهیم، در این حالت تنها از تابع xticks برای تعیین محل خط‌نشان‌های محور x استفاده می‌شود و محل خط‌نشان‌های دو محور دیگر به صورت پیش‌فرض باقی می‌ماند.

به صورت خودکار، مقدار عددی هر یک از خط‌نشان‌ها کنار آن درج می‌شود. می‌توان از توابع xticklabels، yticklabels و zticklabels برای تغییر عبارت نوشته شده کنار خط‌نشان‌ها به ترتیب برای محورهای x و y و z استفاده کرد. به عنوان مثال، در نمودار شکل 1، برای نمایش خط‌نشان‌ها در نقاط 1 و 2 و 3 روی محور x و درج مقادیر آن‌ها با حروف انگلیسی و همچنین حذف خط‌نشان‌های محور y، کد زیر نوشته می‌شود. با اجرای کد زیر، نمودار مطابق شکل 6 رسم می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

xticks([1 2 3])

xticklabels({'One','Two','Three'})

yticks([])

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 6 – نام‌گذاری خط‌نشان‌های محور نمودار در نرم‌افزار متلب

در نرم‌افزار متلب، خطوط شبکه اصلی یا گرید اصلی (Major Grid) روی خط‌نشان‌های هر محور رسم می‌شود. برای رسم خطوط شبکه اصلی (گرید اصلی) در محل‌های دلخواه، می‌توان ابتدا با استفاده از توابع xticks، yticks و zticks محل خط‌نشان‌های مورد نظر را تعریف نموده و سپس دستور grid on یا grid را اجرا کرد. به عنوان مثال، در نمودار شکل 1، برای رسم خطوط شبکه به صورت عمودی در نقاط 1 و2 و 3 روی محور x (موازی با محور y) و حذف خطوط شبکه افقی، کد زیر نوشته می‌شود. با اجرای کد زیر، نمودار مطابق شکل 7 رسم می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

xticks([1 2 3])

xticklabels({'One','Two','Three'})

yticks([])

grid on

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 7 – رسم خطوط شبکه (گرید) در محل‌های دلخواه

 

آموزش تغییر ویژگی‌های ظاهری خطوط شبکه (گرید) در نرم‌افزار متلب

در نرم‌افزار متلب، محورهای نمودار یک شئ یا آبجکت (Object) هستند که ویژگی‌های مختلفی را در خود جای داده‌اند. از جمله این ویژگی‌ها می‌توان به رنگ، استایل و میزان شفافیت خطوط شبکه اشاره کرد که به سادگی می‌توان به آن‌ها دسترسی داشته و مقادیر آن‌ها را ویرایش کرد. در ادامه نحوه ویرایش این ویژگی‌ها شرح داده می‌شود.

 

آموزش تغییر رنگ خطوط شبکه (گرید) در نرم‌افزار متلب

برای تغییر رنگ خطوط شبکه نمودار شکل 2 به رنگ قرمز، کد زیر نوشته می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

 

ax=gca;

ax.GridColor=[1 0 0]; %RGB Vector: Red=[1 0 0]

در کد بالا، پس از رسم نمودار و نمایش خطوط شبکه، شئ (Object) محورها در یک متغییر با نام دلخواه ax قرار گرفته است؛ سپس ویژگی GridColor از شئ ax انتخاب شده و به مقدار دلخواه تغییر داده شده‌است. برای انتخاب ویژگی یک شئ، نام ویژگی مورد نظر با یک نقطه، پس از نام شئ قرار می‌گیرد. برای تغییر رنگ خطوط شبکه، هم می‌توان از کد رنگ RGB و هم از نام رنگ‌های پیش‌فرض نرم‌افزار متلب (مانند ‘red’ یا ‘r’ برای رنگ قرمز) استفاده کرد. رنگ‌های پیش‌فرض نرم‌افزار متلب محدود است؛ برای اعمال هر رنگ دلخواه، می‌توان از کد رنگ RGB استفاده کرد. کد رنگ با ساختار RGB، یک بردار با سه درایه است که به ترتیب از چپ به راست میزان رنگ قرمز، سبز و آبی را مشخص می‌کند. مقادیر این درایه‌ها در بازه [0,1] قرار دارد و میزان شدت سه رنگ قرمز، سبز و آبی را تعیین می‌کند. در کد بالا، از ساختار RGB رنگ قرمز استفاده شده‌است. در جدول زیر، نام و کد رنگ‌های پیش‌فرض نرم‌افزار متلب آورده شده‌است.

نام رنگ نام کامل نام مخفف بردار RGB رنگ
زرد 'yellow' 'y' [1 1 0]  
ارغوانی 'magenta' 'm' [1 0 1]  
فیروزه‌ای 'cyan' 'c' [0 1 1]  
قرمز 'red' 'r' [1 0 0]  
سبز 'green' 'g' [0 1 0]  
آبی 'blue' 'b' [0 0 1]  
سفید 'white' 'w' [1 1 1]  
مشکی 'black' 'k' [0 0 0]  

 

با توجه به اینکه رنگ قرمز از رنگ‌های پیش‌فرض نرم‌افزار متلب است، می‌توان از نام کامل یا مخفف آن نیز استفاده کرد. بنابراین، کد بالا را به یکی از دو صورت زیر نیز می‌توان نوشت. با اجرای هر یک از این سه کد، نتیجه یکسانی حاصل می‌شود که در شکل 8 نمایش داده شده‌است.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

 

ax=gca;

ax.GridColor='red';

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

 

ax=gca;

ax.GridColor='r';

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 8 – تغییر رنگ خطوط شبکه (گرید) در نرم‌افزار متلب

 

آموزش تغییر استایل خطوط شبکه (گرید) در نرم‌افزار متلب

خطوط شبکه (گرید) می‌تواند به صورت خط پیوسته، نقطه‌چین، خط‌چین و نقطه‌خط رسم شود. برای تغییر استایل خطوط شبکه، می‌توان از ویژگی GridLineStyle استفاده کرد. به عنوان مثال، برای رسم خطوط شبکه نمودار شکل 2 به صورت نقطه‌خط، کد زیر نوشته می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

 

ax=gca;

ax.GridLineStyle='-.';

در کد بالا، برای رسم خطوط شبکه به صورت نقطه‌خط، از نماد نقطه‌خط استفاده شده‌است. در جدول زیر، نماد استایل‌های مختلف برای خطوط شبکه (گرید) معرفی شده‌است.

استایل نماد
خط پیوسته '-'
خط‌چین '--'
نقطه‌چین ':'
نقطه‌خط '-.'

 

با اجرای کد بالا، خطوط شبکه مطابق شکل 9 به صورت نقطه‌خط رسم می‌شود.

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 9 – تغییر استایل خطوط شبکه (گرید) در نرم‌افزار متلب

 

آموزش تغییر میزان شفافیت خطوط شبکه (گرید) در نرم‌افزار متلب

برای تغییر میزان شفافیت خطوط شبکه (گرید)، می‌توان از ویژگی GridAlpha استفاده کرد. مقدار این ویژگی باید در بازه [0,1] قرار داشته باشد که مقدار 0 معادل شفافیت کامل (نامرئی شدن) و مقدار 1 معادل غیرشفاف بودن خطوط شبکه است. مقدار پیش‌فرض ویژگی GridAlpha در نرم‌افزار متلب معادل 0.15 است. به عنوان مثال، برای آنکه خطوط شبکه نمودار شکل 2 به میزان 50% شفافیت داشته باشند (بیشتر از مقدار پیش‌فرض)، کد زیر نوشته می‌شود که نتیجه آن در شکل 10 نمایش داده شده‌است.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

 

ax=gca;

ax.GridAlpha=0.5;

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 10 – تغییر میزان شفافیت خطوط شبکه (گرید) در نرم‌افزار متلب

 

آموزش نمایش خطوط شبکه (گرید) روی سایر لایه‌های رسم شده در نرم‌افزار متلب

اگر نمودار رسم شده دارای سطح یا حجم باشد، به عنوان مثال وقتی با استفاده از تابع area سطح زیر نمودار نمایش داده می‌شود، یا با استفاده از تابع surf یک رویه رسم می‌شود، برای نمایش خطوط شبکه (گرید) روی سطوح یا احجام رسم شده، می‌توان از ویژگی Layer استفاده کرد. به عنوان مثال، برای نمایش خطوط شبکه روی یک نمودار دلخواه که با استفاده از تابع area رسم شده‌است، کد زیر نوشته می‌شود. با اجرای کد زیر، نمودار مطابق شکل 11 رسم می‌شود که خطوط شبکه، روی سطح نمودار قرار دارد.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

area(x,y)

grid on

 

ax=gca;

ax.Layer='top';

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 11 – نمایش خطوط شبکه (گرید) روی لایه‌ی رسم شده

 

آموزش نمایش خطوط شبکه (گرید) در جهت‌های دلخواه در نرم‌افزار متلب

به طور پیش‌فرض، با اجرای دستور grid یا grid on، خطوط شبکه (گرید) در تمام جهات رسم می‌شود. با استفاده از ویژگی‌های XGrid، YGrid و ZGrid می‌توان نمایش یا عدم نمایش خطوط شبکه را به ترتیب از خط‌نشان‌های محورهای x و y و z را تعیین کرد. این ویژگی‌ها می‌توانند مقدار on یا off داشته باشند، در حالت on خطوط شبکه نمایش داده می‌شود و در حالت off، خطوط شبکه حذف می‌گردد. در حالت پیش‌فرض، مقدار این ویژگی‌ها on است. به عنوان مثال، اگر بخواهیم خطوط شبکه نمودار شکل 2، تنها از خط‌نشان‌های محور x رسم شوند (تنها خطوط شبکه عمودی رسم شوند) و خطوط شبکه افقی حذف شوند، کد زیر نوشته می‌شود. با اجرای کد زیر، نمودار مطابق شکل 12 رسم می‌شود.

clear; clc; close all;

x=-2*pi:0.05:2*pi;

y=x.*sin(x);

plot(x,y)

grid on

 

ax=gca;

ax.XGrid='on'; %Default, This Line Could Be Removed.

ax.YGrid='off';

آموزش نمایش خطوط شبکه یا گرید (Grid) روی انواع نمودارهای دو بعدی (2D) و سه بعدی (3D) در نرم‌افزار متلب (MATLAB)

شکل 12 – حذف خطوط شبکه (گرید) افقی

 

سایر ویژگی‌های ظاهری خطوط شبکه (گرید) در نرم‌افزار متلب

به غیر از ویژگی‌های شرح داده شده، ویژگی‌های متعدد دیگری نیز وجود دارد که به کمک ان‌ها می‌توان ویژگی‌های ظاهری خطوط شبکه (گرید) را سفارشی‌سازی کرد. در مثال‌های قبل، نحوه استفاده از ویژگی‌ها شرح داده شده‌است. در جدول زیر، تمام ویژگی‌های موجود برای سفارشی‌سازی ویژگی‌های ظاهری خطوط شبکه (گرید) در نمودارهای کارتزین (Cartesian) آورده شده‌است.

توضیح ویژگی
تعیین محل خط‌نشان‌ها (Tick Marks) و خطوط شبکه اصلی XTick, YTick, ZTick
نمایش یا عدم نمایش خطوط شبکه اصلی (گرید اصلی) در هر جهت XGrid, YGrid, ZGrid
نمایش یا عدم نمایش خطوط شبکه فرعی (گرید فرعی) در هر جهت XMinorGrid, YMinorGrid, ZMinorGrid
ضخامت خطوط شبکه و خط‌نشان‌ها LineWidth
استایل خطوط شبکه اصلی (گرید اصلی) GridLineStyle
استایل خطوط شبکه فرعی (گرید فرعی) MinorGridLineStyle
رنگ خطوط شبکه اصلی (گرید اصلی) GridColor
رنگ خطوط شبکه فرعی (گرید فرعی) MinorGridColor
شفافیت خطوط شبکه اصلی (گرید اصلی) GridAlpha
شفافیت خطوط شبکه فرعی (گرید فرعی) MinorGridAlpha
مکان خطوط شبکه نسبت به نمودار رسم شده Layer

 

در جدول زیر، تمام ویژگی‌های موجود برای سفارشی‌سازی ویژگی‌های ظاهری خطوط شبکه (گرید) در نمودارهای قطبی (Polar) آورده شده‌است.

توضیح ویژگی
تعیین محل خط‌نشان‌ها (Tick Marks) و خطوط شبکه اصلی ThetaTick, RTick
نمایش یا عدم نمایش خطوط شبکه اصلی (گرید اصلی) در هر جهت ThetaGrid, RGrid
نمایش یا عدم نمایش خطوط شبکه فرعی (گرید فرعی) در هر جهت ThetaMinorGrid, RMinorGrid
ضخامت خطوط شبکه و خط‌نشان‌ها LineWidth
استایل خطوط شبکه اصلی (گرید اصلی) GridLineStyle
استایل خطوط شبکه فرعی (گرید فرعی) MinorGridLineStyle
رنگ خطوط شبکه اصلی (گرید اصلی) GridColor
رنگ خطوط شبکه فرعی (گرید فرعی) MinorGridColor
شفافیت خطوط شبکه اصلی (گرید اصلی) GridAlpha
شفافیت خطوط شبکه فرعی (گرید فرعی) MinorGridAlpha
مکان خطوط شبکه نسبت به نمودار رسم شده Layer

 

همچنین برای سفارشی‌سازی ویژگی‌های ظاهری خطوط شبکه (گرید) در نمودارهای جغرافیایی (Geographic) از ویژگی‌های جدول زیر می‌توان استفاده کرد.

توضیح ویژگی
نمایش خطوط شبکه طول و عرض جغرافیایی Grid
ضخامت خطوط شبکه و خط‌نشان‌ها LineWidth
استایل خطوط شبکه GridLineStyle
رنگ خطوط شبکه GridColor
شفافیت خطوط شبکه GridAlpha

 

آموزش حذف خطوط شبکه یا گرید از روی نمودار در نرم‌افزار متلب

برای حذف تمام خطوط شبکه (گرید)، کافیست دستور grid off اجرا شود. با اجرای این دستور، خطوط شبکه یا گرید از روی نمودار جاری حذف می‌شود.

امتیاز :

2
دیدگاه بگذارید

avatar
1 موضوعات دیدگاه
1 دیدگاه های دارای پاسخ
0 فالورها
 
بیشترین واکنش ها به دیدگاه
پرطرفدارترین دیدگاه ها
2 نویسندگان دیدگاه ها
لرنیکسمریم تازه ترین نویسندگان دیدگاه
جدیدترین قدیمی ترین پر امتیازترین
مریم
مهمان
مریم

عجب آموزش کاملی عالی بود