1

我目前正在使用 Matlab,并且正在绘制矩阵行的内容,其中每一列都是一个独立的数据集。由于矩阵很大,我不想完成为每个数据集单独编写绘图标签的繁琐任务,所以我想知道是否有一种特定的方法可以为每一列包含一个句柄/名称这样它会自动应用绘图标签,并在矩阵中添加或删除列时进行相应调整?

谢谢!

细节(如果有帮助):光纤放大器中的放大自发辐射 (ASE)。行用作离散化 ASE 光谱的存储,列是沿光纤放大器的给定位置(它是这个位置 - 沿着与列对应的光纤的距离 - 我想用作标签)并且每个元素都包含电源信息。该图给出了光纤中 ASE 沿其长度方向不同位置的光谱功率。

4

1 回答 1

0

如果标签是指情节图例,则可以使用单元格来做到这一点。考虑矩阵 A

A = repmat([1:3], 3, 1)

A =

 1     2     3
 1     2     3
 1     2     3

您可以调用 plot 来绘制矩阵的列

plot(A);

在这里,您将在 y=1、2 和 3 处获得 3 条水平线。您可以按如下方式创建图例

l{1} = 'dataset1';
l{2} = 'dataset2';
l{3} = 'dataset3';

然后你输入

legend(l)

显示传奇。但是,没有人会为您创建图例,因此您必须自己创建元胞数组。当然,你可以自动完成,例如上面的图例可以通过一个简单的循环来创建

for i=1:size(A, 2)
   l{i} = ['dataset' num2str(i)];
end
于 2012-09-18T15:58:25.267 回答