【发布时间】:2015-09-29 04:59:51
【问题描述】:
是否可以在 matlab 中更改一条线的颜色,中间图?
我正在 matlab 中开发蚁群优化算法,我希望能够在可视化中将不同路径的轨迹强度表示为不同的颜色
这是我正在生成的情节:
图形的轨迹部分由以下代码生成:
[Xt,Yt] = gplot(trails,XY,'-w'); % gplot does not allow custom colours
plot(Xt,Yt,'-o','Color',[0.75,0.75,0.75],...
'MarkerFaceColor',[0.75,0.75,0.75],'LineWidth',2);
我有一个包含每个边缘强度值的矩阵,我希望能够根据线条强度将线条颜色的 [0.75,0.75,0.75] 值更改为某个缩放值。
有没有办法通过使颜色值成为某个变量的函数来做到这一点?还是我必须单独绘制每一行?
编辑:
这里是一些示例数据:
NODES: 4
<node x,y coords>
N1(10,10)
N2(82,19)
N3(38,77)
N4(30,150)
EDGES: 4
<edges connecting Na and Nb, T is intended greyscale luminance value>
E1(N1,N2) - T = 0.7
E2(N1,N3) - T = 0.3
E3(N2,N3) - T = 0.6
E4(N3,N4) - T = 0.4
这是带有随机 T 值的图表:
【问题讨论】:
-
正如我在answer 中详细介绍的那样,我建议使用(薄)表面而不是线条,您可以完全控制线条的着色方式(包括
flat或 @987654330 @过渡)。然后最重要的是,您可以添加一个scatter图,它还可以让您控制每个点的颜色/形状/大小。 -
如果您坚持使用线条,则需要分别绘制每个子轨迹,并(在每次迭代中通过某个循环)从一些颜色查找表中分配一种颜色,这些颜色映射到您的轨迹强度.这在
R中更容易做到,顺便说一句。 -
您能添加一小组样本数据吗? (请张贴minimal reproducible example)。