提供一個陽春的作法:把一條線切成很多小段,每一小段給不同顏色
- - - -
function plotGradientLine(startPt, endPt, width, cMap)
% STARTPT: 起點
% ENDPT : 終點
% WIDTH : 寬度
% CMAP : n x 3 color map matrix
segNum = size(cMap, 1);
xCoor = linspace(startPt(1), endPt(1), segNum + 1);
yCoor = linspace(startPt(2), endPt(2), segNum + 1);
figure
hold on
for k = 1 : segNum
plot([xCoor(k), xCoor(k + 1)], [yCoor(k), yCoor(k + 1)], ...
'linewidth', width, 'color', cMap(k, :));
end
hold off
- - - -
% 使用內建 color map
plotGradientLine([0, 0], [1, 1], 3, jet(512))
% 自定紅色到紫色
red = [1, 0, 0];
purple = [135, 30, 255] / 255;
cMap = zeros(512, 3);
for k = 1 : 3
cMap(:, k) = linspace(red(k), purple(k), 512);
end
plotGradientLine([0, 0], [1, 1], 3, cMap)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.15.109
推
10/31 22:33, , 1F
10/31 22:33, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):