我目前正在使用Matlab,我正在绘制矩阵行的内容,其中每列是一个独立的数据集。由于矩阵很大,我不想完成单独编写每个数据集的绘图标签的tedius任务,所以我想知道是否有一种特定的方法来为每个列包含一个句柄/名称这样一种方式它会自动应用图标签,如果在矩阵中添加或删除列,它会相应调整吗?
谢谢!
细节,如果有帮助: 光纤放大器中的放大自发辐射(ASE)。行充当离散的ASE光谱的存储,列是沿光纤放大器的给定位置(正是这个位置 - 沿着光纤对应于列的距离 - 我想用作标签)并且每个元素包含权力信息。该图给出了光纤中ASE沿其长度的不同位置的光谱功率。
答案 0 :(得分: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