如何改变matlab图的线条颜色(如colormap)?

时间:2011-12-19 09:12:27

标签: matlab colors plot

我有一个2D空间,其中定义了一个函数值(您可以将其视为一个流形)。现在我使用contourf绘制了函数值,并将colormap更改为比jet更柔和的东西。到目前为止它看起来很不错。

现在我想在我的空间画一条代表状态的线。使用plot命令也可以。但是我想要一些更多改进:现在有一个隐藏的额外状态(值0 ... 50)。我想根据这种隐藏状态改变线条颜色。因此,在某种意义上,将单独的色彩映射应用于由plot绘制的线条,例如在瀑布图中。

使用matlab可以实现这种(或类似的东西)吗?

由于

3 个答案:

答案 0 :(得分:7)

如果要使用插值着色或使用颜色贴图更改颜色,则需要将数据绘制为网格并适当设置edgecolor属性。请注意,为了将其绘制为网格,您需要复制它,使其在每个方向上的大小至少为2.

h = mesh([X(:) X(:)], [Y(:) Y(:)], [Z(:) Z(:)], [C(:) C(:)], ...
    'EdgeColor', 'interp', 'FaceColor', 'none');

如果您想同时绘制多条线,您可能还需要查看MeshStyle属性。

此解决方案也比cline中使用的解决方案更好,因为它只创建一个图形对象,而不是n

答案 1 :(得分:2)

从文件交换中查看cline.m函数,我认为这正是您所需要的。

答案 2 :(得分:2)

我可以从文件交换中推荐Colored line entry。它有很好的反馈,并使用颜色图来定义显示的颜色,我已经成功地在许多项目上使用它。