Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 使用另一个矩阵的图例绘制二维矩阵_Matlab_Matrix_Plot_Legend - Fatal编程技术网

Matlab 使用另一个矩阵的图例绘制二维矩阵

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) 在绘图线之后。但是,我不确定这是否绘制了正确的对应关

假设我有以下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)

在绘图线之后。但是,我不确定这是否绘制了正确的对应关系,因为图例b中的第一行颜色指向a中的第一行。有人能告诉我我是否正确,或者至少纠正我在这种情况下所做的事情吗。

您可以从
plot
获取句柄并将其传递给
legend
。此外,您需要将
b
转换为字符串,以便在
图例中使用它

h = plot(a); % returns a vector of handles to the individual plots
legend(h,num2str(b(:)))

+1用于提醒我
图例
的字符串矩阵语法。我通常使用逗号分隔的字符串或单元格,但这对于这个问题来说是最简单的。