所以我有一系列温度记录器,它们都有一个特定的名称,我想按以下方式绘制它们:
现在,如您在我添加的示例图中所看到的,图例自动将这些行标记为data1, data2, data3,...
。但是,我需要图例显示记录器的名称。因为有许多记录器,所以我需要MATLAB自动执行此操作,因为使用DisplayName
并手动输入每个记录器名称将花费数小时。有谁知道如何在数据表中选择一列作为行的名称?我的表构建如下:
Name of logger 1| Date | Temperature | Name of logger 2 | Date | Temperature % and so on
这是我用于绘图的代码的一部分:
hold on
for i=2:2:35
plot(data{:,1}, data{:,i})
end
hold off
的结构
答案 0 :(得分:1)
您可以将DisplayName
的{{1}}参数与动态检索表变量名一起使用来自动执行此操作。
plot
现在,当您调用vNames = data.Properties.VariableNames;
for ii = 2:2:35
plot( data{:,1}, data{:,ii}, 'DisplayName', vNames{ii} );
end
时,将根据表变量名称来命名该系列。
请注意,一旦获得了变量名,就可以用它们等效地索引表(而不是直接legend
),如下所示:
ii