1. 程式人生 > 其它 >matlab繪圖設定

matlab繪圖設定

隨意修改網格線和座標軸顯示

  • [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 是什麼?