標籤:

MATLAB 繪製多條曲線 顏色設置有沒有比較簡便的方法 ?

科技論文寫作過程中,為了直觀展示各種演算法、方案之間的差異,用圖表展示對比實驗結果是普遍的做法。用MATLAB繪製圖像時用不同的顏色、線型是我們經常要做的選擇。我常常糾結的是:如果用 『r』,"g" ,"b" 等選擇空間太小;如果用 RGB(0~255) 數值選擇空間太大。 問題是:有沒有一種辦法,比如我要繪製10曲線,能夠自動生成10 種顏色(看上去比較自然美觀的,如下圖)?


有解決的辦法,附上我自己寫的小程序,供你參考:

function color = getColor(value, min, max)
cmap = get(groot,"defaultfigurecolormap");
[m, ~] = size(cmap);
row = round((value/(max-min))*(m-1)) + 1;
color = cmap(row, :);
end

原理就是從colormap裡面均勻的取顏色。比如,把colormap分成1~10份,取第四種顏色,可以如下操作

&>&> color = getColor(4, 1, 10)

這樣得到的顏色會比較自然。我用的是默認的colormap, 你也可以用其他colormap.


怒答一波。

知乎首答。

先打開windows自帶的畫圖,在「編輯色彩」中挑選看著順眼的顏色(基本上「基本顏色」就能滿足需求了),記下右下角紅綠藍對應的數值,比如橙色為[255 128 64]。

再到MATLAB中,

plot(x,y,"color",[255/255 128/255 64/255]);

即可畫出對應的橙色的線。

要什麼色有什麼色。


那請問在plot的時候怎麼引用這些顏色啊?


推薦閱讀:

大家用matlab的時候,都去哪裡下載程序啊?
Matlab在金融領域有什麼具體應用嗎?
matlab把日期轉換成數字以後輸出到csv文件,數字會四捨五入?

TAG:MATLAB |