是要热爱美好的呀 2023-09-16 13:26 采纳率: 93.1%
浏览 30
已结题

matlab如何采用循环绘制多条不同颜色的线

使用lines里的9种颜色绘制9条线,采用了for循环,为什么画出来9条线颜色一样?

c=colormap(lines(9));
for i=1,9
plot(z,SC90,z,D0_90,z,D1_90,z,D2_90,z,D3_90,z,D4_90,z,D5_90,z,D6_90,z,D7_90,'color',c(i,:),'LineWidth',1)
end

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-16 23:20
    关注

    引用 皆我百晓生 小程序回复内容作答:
    在你的代码中,虽然使用了循环来绘制多条线,但是在每次循环中的绘制命令中,你将所有的线都放在了同一个plot函数中。这导致每次循环的绘制命令中的线都叠加在了一起,所以最终看起来只有一条线,且颜色相同。

    要正确绘制多条不同颜色的线,你需要在每个循环中分别使用一个plot函数来绘制一条线。以下是修改后的示例代码:

    c = colormap(lines(9));
    
    for i = 1:9
        hold on  % 保持绘图环境,防止每次循环都重新开始绘图
        
        % 根据你的需求,下面的代码是你提供的变量
        plot(z, SC90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D0_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D1_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D2_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D3_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D4_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D5_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D6_90, 'color', c(i,:), 'LineWidth', 1)
        plot(z, D7_90, 'color', c(i,:), 'LineWidth', 1)
        
        hold off  % 结束本次绘图
    
    end
    

    在上述修改后的代码中,使用了hold on命令来在每次循环中保持绘图环境,同时使用了hold off命令来结束本次绘图。这样,每个循环中的绘图命令都会绘制一个单独的线,并且线的颜色为预先定义的不同颜色。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月25日
  • 已采纳回答 9月17日
  • 创建了问题 9月16日

悬赏问题

  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件