如何解决matlab/octave画图legend图例颜色一样的问题?

预期目的:

本意想用legend在画图的时候把对应线段的颜色对应起来,实际按照如下代码运行得不到预期的结果。

Matlab 复制代码
x = [1:10;11:20]

y1 = x.^2;

y2 = 0.5.*x.^3

plot(x,y1,'r',x,y2,'b');

legend('y = x^2','y = x^3')

代码运行结果如下:

原因

是matlab /octave默认legend时,是按照plot的顺序来的,显然这里我们画了20组线,当然前两条都是红色(r)的啦。

解决方法

代码修改如下:

Matlab 复制代码
x = [1:10;11:20]

y1 = x.^2;

y2 = 0.5.*x.^3

axy1 = plot(x,y1,'r');hold on;

axy2 = plot(x,y2,'b');

legend([axy1(1),axy2(1)],'y = x^2','y = x^3')

正确的运行结果:

相关推荐
Evand J14 小时前
【PMSM例程】(14)永磁同步电机无迹卡尔曼滤波(UKF)定子电阻在线辨识与补偿。电阻变化跟踪及预测误差对比仿真。附完整代码的下载链接
matlab·电机·滤波·卡尔曼滤波·永磁同步电机·无迹卡尔曼滤波·pmsm
爱喝雪碧的可乐15 小时前
MATLAB
开发语言·算法·matlab
严肃小白兔17 小时前
MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域
图像处理·matlab·信息与通信·开源项目
Evand J3 天前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
分享资料4 天前
MATLAB 中分号 (;)的作用
matlab
Evand J4 天前
【PMSM例程11】永磁同步电机(PMSM)基于UKF的转速与转子位置估计。附下载链接
算法·matlab·卡尔曼滤波·永磁同步电机·ukf·pmsm·位置估计
严肃小白兔5 天前
优秀 MATLAB 作者、书籍推荐:国外经典教材与技术资源整理
matlab
熊猫_豆豆6 天前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
逆向编程7 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
星夜离尘567 天前
MATLAB 刚体坐标变换:点、方向和逆变换为什么不能混用
matlab