【问题标题】:How to vary the line color of a matlab plot (like colormap)?如何改变 matlab 绘图的线条颜色(如颜色图)?
【发布时间】:2012-01-23 10:53:06
【问题描述】:

我有一个定义函数值的二维空间(您可以将其视为流形)。现在我使用contourf 绘制函数值并将颜色图更改为比jet 更柔和的颜色。到目前为止,它看起来还不错。

现在我想在我的空间中画一条线来表示一段时间内的状态。这也可以使用plot 命令。但我想要更多改进:现在隐藏了一个附加状态(值 0...50)。我想根据这个隐藏状态改变线条颜色。因此,从某种意义上说,将单独的颜色图应用于plot 绘制的线条,例如在瀑布图中。

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

谢谢

【问题讨论】:

    标签: matlab colors plot


    【解决方案1】:

    如果您想使用插值着色或让颜色随颜色图变化,那么您想将数据绘制为网格并适当地设置edgecolor 属性。请注意,为了将其绘制为网格,您需要复制它,使其在每个方向上的大小至少为 2。

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

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

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

    【讨论】:

    • 我不确定,如果我理解正确的话。我认为mesh commant 会生成 3D 绘图。我希望它是二维的(从上面投影)。我应该为 Z 坐标设置什么值?
    • 设置Z坐标为0,使用view(2)旋转回到标准XY视点。
    • 另外,@Adrian 链接的函数正是实现了这一点。
    【解决方案2】:

    看看文件交换中的cline.m函数,我想这正是你所需要的。

    【讨论】:

    • 这会做你想做的,假设你想要平面阴影。它也不漂亮。
    【解决方案3】:

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

    【讨论】:

    • 正如@Nzbuu 提到的,这比cline.m 更漂亮,正是因为它使用单个连续曲线(通过mesh)而不是line。如果您的线路中有很多点,这也会提高效率。
    猜你喜欢
    • 1970-01-01
    • 2018-03-13
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    相关资源
    最近更新 更多