matlab fill 渐变,Matlab的渐变色填充(一)
? 最近需要使用Matlab來制作一些圖表,部分圖表使用顏色填充。網(wǎng)絡(luò)資源好像對漸變色填充這件事都講得語焉不詳,或是比較復(fù)雜。所以決定自己寫一點簡化版的操作,讓后續(xù)使用Matlab不多的朋友可以比較容易處理。
(1)圖形準(zhǔn)備
確定 x軸和y軸范圍都是 [0,10],基本圖形為10 ×10 的一個正方形。
色系采用預(yù)定義的色階圖 spring。將 spring 最大值設(shè)定為1000。
figure
hold on;
box on
axis([0,10,0,10]);
colormap(spring(1000));
colorbar('southoutside');
colorbar;
x = [0; 0; 10; 10];
y = [0; 10; 10; 0];
代碼主要定義了4個節(jié)點,按順序為(0,0),(0,10),(10,10)和(10,0)
示意圖:
(2)水平漸變色填充
設(shè)定節(jié)點(1)與(2)的顏色一致,(3)與(4)的顏色一致,可以獲得水平漸變色填充。
c = [0,0,1000,1000];
hp = patch(x,y,c);
本例中設(shè)置節(jié)點(1)和(2)的顏色索引為 0,(3)和(4)為色階圖的最高值1000。
得到效果圖
(3)垂直漸變色填充
設(shè)定節(jié)點(1)與(4)的顏色一致,(2)與(3)的顏色一致,可以獲得水平漸變色填充。
c = [0; 1000; 1000; 0];
hp = patch(x,y,c);
本例中設(shè)置節(jié)點(1)和(4)的顏色索引為 0,(2)和(3)為色階圖的最高值1000。
得到效果圖
(4)沿對角線漸變
設(shè)定沿節(jié)點(1)和(4)的對象線顏色漸變,節(jié)點(1)顏色索引為 0,(2)和(4)的顏色一致,節(jié)點(3)為最高值1000,可以獲得沿對象線漸變色填充。
c = [0; 500; 1000;500];
hp = patch(x,y,c);
效果圖
(5)軸對稱漸變
要達(dá)到軸對稱漸變,需要增加兩個節(jié)點。并且設(shè)置4個角的節(jié)點顏色值索引一致,都為0,而增加的軸的端點顏色值為1000。
x = [0; 0; 5; 10; 10; 5];
y = [0; 10;10; 10; 0; 0]';
c = [0; 0; 1000; 0; 0; 1000];
hp = patch(x,y,c);
效果圖
總結(jié)
以上是生活随笔為你收集整理的matlab fill 渐变,Matlab的渐变色填充(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java9 jar hell,Java
- 下一篇: php数组循环0到32,通过数组php循