matlab繪圖設定
阿新 • • 發佈:2022-04-12
隨意修改網格線和座標軸顯示
- [matlab 幫助文件的 grid 引數表]
- [幾種常用的操作]
- [設定網格線的密度]
matlab 幫助文件的 grid 引數表
在畫圖的時候發現有一根線剛好和網格線重疊了,導致顯示的不太清楚,然後就想修改一下網格線的位置,然後將實現過程寫了下來。
查了下資料發現基本都是修改了網格座標軸也發生變化,如果想實現座標軸數值和網格線分別設定,直接閱讀設定網格線密度中的方法3。
屬性 | 描述 |
---|---|
XTick, YTick, ZTick | Location of tick marks and major grid lines for each axis direction |
XGrid, YGrid, ZGrid | Display of major grid lines for each axis direction |
XMinorGrid, YMinorGrid, ZMinorGrid | Display of minor grid lines for each axis direction |
LineWidth | Line width of grid lines, axes box outline, and tick marks |
GridLineStyle | Major grid line style |
MinorGridLineStyle | Minor grid line style |
GridColor | Major grid line color |
MinorGridColor | Minor grid line color |
GridAlpha | Major grid line transparency |
MinorGridAlpha | Minor grid line transparency |
Layer | Location of grid lines with respect to the plotted data |
幾種常用的操作
1、開啟關閉網格線
grid on; % 開啟
grid off; % 關閉
2、設定線型,以虛線為例(線型的引數和 plot 線型是一樣的)
set(gca, 'GridLineStyle', ':'); % 設定為虛線
似乎網格線有點不太清楚,不要著急,設定一下透明度就可以。
3、設定透明度
set(gca, 'GridAlpha', 1); % 設定透明度,注意引數的範圍是[0,1]
網格線變清楚了
下面重點來了,怎麼設定網格線的密度呢!!!
設定網格線的密度
有三種方法,第一種是連同座標也發生變化,第二種只更改網格線密度,但密度不能自由控制,第三種隨意控制密度。以 x 軸為例。
當前的圖 x 軸是 0:50 劃為 10 段,每段長 5。
% 方法1
set(gca, 'XTick', 0:50/5:50); % 此時劃分為了5段,每段長10,網格線和座標軸都發生了變化
這種方法實際上是更改了座標軸的間隔。
在方法一圖的基礎上,座標軸不變,將網格豎線變密。
% 方法2,這種方法無法自由控制網格線的密度
set(gca, 'XMinorGrid','on');
在方法 1 圖的基礎上將網格線變密兩倍
% 方法3,可以自由控制
grid on;
set(gca, 'GridLineStyle', ':'); % 設定為虛線
set(gca, 'GridAlpha', 1); % 設定透明度
set(gca, 'XTick', 0:50/10:50); % 劃分為10段,每段長5,這是想要的網格線數量
N = 2; % 想要的座標軸顯示,即隔一個網格顯示一個刻度,10/5 = 2
% 設定想要的座標軸刻度
a = get(gca,'XTickLabel');
b = cell(size(a));
b(mod(1:size(a,1),N)==1,:) = a(mod(1:size(a,1),N)==1,:);
set(gca,'XTickLabel',b);
大功告成!!
解釋一下,XTick 和 XTickLabel 的區別:XTick 控制 X 軸上的那個小豎線,XTickLabel 用來控制 X 軸下面的數字顯示,其他座標軸也一樣。再來看一下 a 和 b 是什麼?