如何解决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 J19 小时前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
分享资料2 天前
MATLAB 中分号 (;)的作用
matlab
Evand J2 天前
【PMSM例程11】永磁同步电机(PMSM)基于UKF的转速与转子位置估计。附下载链接
算法·matlab·卡尔曼滤波·永磁同步电机·ukf·pmsm·位置估计
严肃小白兔3 天前
优秀 MATLAB 作者、书籍推荐:国外经典教材与技术资源整理
matlab
熊猫_豆豆4 天前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
逆向编程5 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
星夜离尘565 天前
MATLAB 刚体坐标变换:点、方向和逆变换为什么不能混用
matlab
Evand J6 天前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
机器学习之心6 天前
基于贝叶斯物理信息神经网络的矿产预测与不确定性量化,MATLAB代码及复现报告
人工智能·神经网络·matlab·贝叶斯物理信息神经网络
Evand J7 天前
【PMSM例程4】PMSM电阻辨识与模型补偿EKF,MATLAB例程。附下载链接,包运行成功
开发语言·matlab·电机·ekf·卡尔曼·pmsm