自定義顏色和線型訂單

在 MATLAB 中,我們可以設定新的預設自定義訂單,例如顏色順序和線型訂單。這意味著新訂單將應用於應用這些設定後建立的任何圖形。新設定將保持不變,直到 MATLAB 會話關閉或進行了新設定。

預設顏色和線條樣式順序

預設情況下,MATLAB 使用幾種不同的顏色,只有實線樣式。因此,如果呼叫 plot 繪製多條線,MATLAB 將通過顏色順序交替繪製不同顏色的線條。

StackOverflow 文件

我們可以通過使用全域性控制代碼 0 呼叫 get 來獲取預設顏色順序,然後使用此屬性 DefaultAxesColorOrder

>> get(0, 'DefaultAxesColorOrder')
ans =
         0    0.4470    0.7410
    0.8500    0.3250    0.0980
    0.9290    0.6940    0.1250
    0.4940    0.1840    0.5560
    0.4660    0.6740    0.1880
    0.3010    0.7450    0.9330
    0.6350    0.0780    0.1840

自定義顏色和線條樣式順序

一旦我們決定設定自定義顏色順序和線條樣式順序,MATLAB 必須交替使用兩者。MATLAB 應用的第一個更改是顏色。當所有顏色都耗盡時,MATLAB 將從定義的線條樣式順序應用下一個線條樣式,並將顏色索引設定為 1.這意味著 MATLAB 將再次開始交替顯示所有顏色,但在其順序中使用下一個線條樣式。當所有線條樣式和顏色都耗盡時,顯然 MATLAB 開始使用第一種顏色和第一種線條樣式從頭開始迴圈。

在這個例子中,我定義了一個輸入向量和一個匿名函式,使繪圖數字更容易一些:

F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';

要設定新顏色或新的線型訂單,我們將 set 函式稱為全域性控制代碼 0,後跟屬性 DefaultAxesXXXXXXX; XXXXXXX 可以是 ColorOrderLineStyleOrder。以下命令分別將新顏色順序設定為黑色,紅色和藍色:

set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));

StackOverflow 文件

如你所見,MATLAB 僅交替顯示顏色,因為預設情況下線型順序設定為實線。當一組顏色耗盡時,MATLAB 將從顏色順序中的第一種顏色開始。

以下命令設定顏色和線型訂單:

set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
set(0, 'DefaultAxesLineStyleOrder', {'-' '--'});
plot(x, F([1 2 3 4 5 6],x));

StackOverflow 文件

現在,MATLAB 使用顏色作為最常見的屬性,通過不同的顏色和不同的線條樣式進行交替。