作者CBET ( )
看板MATLAB
标题Re: [问题] 画一条渐层色的线
时间Wed Oct 31 22:30:03 2012
提供一个阳春的作法:把一条线切成很多小段,每一小段给不同颜色
- - - -
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
1F:推 diva:超详细 感谢 10/31 22:33