1. 程式人生 > 實用技巧 >Matlab如何建立帶標記的線圖

Matlab如何建立帶標記的線圖

Matlab如何建立帶標記的線圖

線上圖中新增標記是區分多個線條或突出顯示特定資料點的有用方法。使用下面的一種方式新增標記:

線上條設定輸入引數(例如 plot(x,y,'-s'))中包含標記符號。

將 Marker 屬性指定為一個名稱-值對組,例如 plot(x,y,'Marker','s')。

有關標記選項列表,請參閱支援的標記符號。

線上圖中新增標記
開啟實時指令碼
建立一個線圖。通過在呼叫 plot 函式時包含線條設定輸入引數,在每個資料點處顯示一個標記。例如,使用 '-o' 可得到一條帶圓形標記的實線。

1 x = linspace(0,10,100);
2 y = exp(x/10).*sin(4
*x); 3 plot(x,y,'-o')

如果指定了標記符號但未指定線型,則 plot 僅顯示無線條連線的標記。

plot(x,y,'o')

也可以通過將 Marker 屬性設定為名稱-值對組,線上條中新增標記。例如,plot(x,y,'Marker','o') 將繪製一個帶圓形標記的線條。

指定標記大小和顏色
開啟實時指令碼
建立帶標記的線圖。通過結合使用 plot 函式和名稱-值對組引數來設定這些屬性,即可自定義標記:

MarkerSize - 標記大小,指定為正值。

MarkerEdgeColor - 標記輪廓顏色,指定為顏色名稱或 RGB 三元組。

MarkerFaceColor 
- 標記內部顏色,指定為顏色名稱或 RGB 三元組。

使用顏色名稱的字元向量(例如 'red')或 RGB 三元組(例如 [0.4 0.6 0.7])指定顏色。RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度必須處於範圍 [0,1] 中。

1 x = linspace(0,10,50);
2 y = sin(x);
3 plot(x,y,'-s','MarkerSize',10,...
4 'MarkerEdgeColor','red',...
5 'MarkerFaceColor',[1 .6 .6])

控制沿線條的標記放置



開啟實時指令碼
建立包含 1000 個數據點的線圖,新增星號標記,並使用 MarkerIndices 屬性

控制標記位置。將此屬性設定為要顯示標記的資料點的索引。從第一個資料點開始,每隔十個資料點顯示一個標記。

1 x = linspace(0,10,1000);
2 y = exp(x/10).*sin(4*x);
3 plot(x,y,'-*','MarkerIndices',1:10:length(y))

在最大資料點和最小資料點處顯示標記
開啟實時指令碼
建立一個隨機資料向量,並查詢最小值和最大值的索引。然後建立資料的線圖。通過將 MarkerIndices 屬性設定為索引值向量,在最小資料值和最大資料值處顯示紅色標記。

1 x = 1:100;
2 y = rand(100,1);
3 idxmin = find(y == max(y));
4 idxmax = find(y == min(y));
5 plot(x,y,'-p','MarkerIndices',[idxmin idxmax],...
6 'MarkerFaceColor','red',...
7 'MarkerSize',15)


恢復為預設標記位置
開啟實時指令碼
修改標記位置,然後恢復為預設位置。

建立一個線圖,並每隔五個資料點顯示大的方形標記。將圖形線條物件賦給變數 p,以便在建立後訪問其屬性。

1 x = linspace(0,10,25);
2 y = x.^2;
3 p = plot(x,y,'-s');
4 p.MarkerSize = 10;
5 p.MarkerIndices = 1:5:length(y);


將 MarkerIndices 屬性重置為預設值,即從 1 到資料點數量之間的所有索引值組成的一個向量。

p.MarkerIndices = 1:length(y);


支援的標記符號


線條設定輸入引數不支援有多個字元的標記選項。請改用一個字元的選項或設定 Marker 屬性。