Matlab 使用另一个矩阵的图例绘制二维矩阵
假设我有以下2d矩阵:Matlab 使用另一个矩阵的图例绘制二维矩阵,matlab,matrix,plot,legend,Matlab,Matrix,Plot,Legend,假设我有以下2d矩阵: a = [1,2,3,4,5; 1,2,3,4,5; 1,2,3,4,5; 1,2,3,4,5] 以及具有以下值的另一个矩阵: b = [0.3,0.4,0.6,0.9,1.2] 不,我需要在a中绘制所有列向量。我可以很容易地通过以下方式实现这一点: plot(a) 但是,我希望在侧面有一个图例,它还显示了绘图中的哪一行对应于b的值 我使用以下方法完成了此操作: legend(b) 在绘图线之后。但是,我不确定这是否绘制了正确的对应关
a = [1,2,3,4,5;
1,2,3,4,5;
1,2,3,4,5;
1,2,3,4,5]
以及具有以下值的另一个矩阵:
b = [0.3,0.4,0.6,0.9,1.2]
不,我需要在a中绘制所有列向量。我可以很容易地通过以下方式实现这一点:
plot(a)
但是,我希望在侧面有一个图例,它还显示了绘图中的哪一行对应于b的值
我使用以下方法完成了此操作:
legend(b)
在绘图线之后。但是,我不确定这是否绘制了正确的对应关系,因为图例b中的第一行颜色指向a中的第一行。有人能告诉我我是否正确,或者至少纠正我在这种情况下所做的事情吗。您可以从
plot
获取句柄并将其传递给legend
。此外,您需要将b
转换为字符串,以便在图例中使用它
h = plot(a); % returns a vector of handles to the individual plots
legend(h,num2str(b(:)))
+1用于提醒我图例
的字符串矩阵语法。我通常使用逗号分隔的字符串或单元格,但这对于这个问题来说是最简单的。