Matlab 2017网格线属性设置:修改颜色、线宽及线型
在Matlab 2017中设置主次网格线属性的方法
嘿,我来帮你搞定Matlab 2017版本里网格线属性设置的问题~从Matlab R2014b开始,官方切换到了新的HG2图形对象模型,所以早期版本里直接用set(gca,'GridLineColor',...)这类命令已经没法分别控制主次网格线了,不过别担心,用新的属性设置方式就能轻松搞定。
1. 先确保主次网格线处于显示状态
首先得把主次网格线打开,不然设置属性也看不到效果:
% 开启所有坐标轴的主网格 grid on; % 开启所有坐标轴的次网格 grid minor on;
如果你只想开启特定轴(比如X轴)的网格,可以这样写:
set(gca, 'XGrid', 'on', 'XMinorGrid', 'on');
2. 设置主网格线的颜色、线宽和线型
主网格的属性都以Grid开头,直接针对当前坐标轴对象操作就行:
% 设置主网格颜色为你示例中的[0.7 0.2 0.1](偏红棕色调) set(gca, 'GridColor', [0.7 0.2 0.1]); % 设置主网格线宽(默认是0.5,这里改成1.2) set(gca, 'GridLineWidth', 1.2); % 设置主网格线型(可选:'-'实线, '--'虚线, ':'点线, '-.'点划线) set(gca, 'GridLineStyle', '--');
3. 设置次网格线的属性
次网格的属性和主网格类似,只是多了Minor前缀:
% 设置次网格颜色为浅灰色 set(gca, 'MinorGridColor', [0.8 0.8 0.8]); % 设置次网格线宽 set(gca, 'MinorGridLineWidth', 0.5); % 设置次网格线型为点线 set(gca, 'MinorGridLineStyle', ':');
4. 完整示例代码(含面向对象写法)
如果你更喜欢Matlab推荐的面向对象写法(更直观),可以这样写:
% 先绘制一个示例图 plot(1:10, rand(1,10)); % 获取当前坐标轴对象 ax = gca; % 开启主次网格 ax.XGrid = 'on'; ax.YGrid = 'on'; ax.XMinorGrid = 'on'; ax.YMinorGrid = 'on'; % 设置主网格属性 ax.GridColor = [0.7 0.2 0.1]; ax.GridLineWidth = 1.2; ax.GridLineStyle = '--'; % 设置次网格属性 ax.MinorGridColor = [0.6 0.6 0.6]; ax.MinorGridLineWidth = 0.5; ax.MinorGridLineStyle = ':';
另外,如果你想给不同坐标轴的网格设置不同属性,比如X轴主网格用红色,Y轴主网格用绿色,可以单独指定带轴前缀的属性:
set(gca, 'XGridColor', [0.7 0.2 0.1], 'YGridColor', [0.1 0.7 0.2]);
内容的提问来源于stack exchange,提问作者user9003011




