首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MATLAB绘图:自动使用列变量(名称)作为图例中的显示名称

MATLAB绘图:自动使用列变量(名称)作为图例中的显示名称
EN

Stack Overflow用户
提问于 2018-10-22 17:20:32
回答 1查看 698关注 0票数 0

因此,我有一系列的温度记录器,它们都有一个特定的名称,我想将它们绘制如下:

现在,正如您在我添加的示例图中看到的那样,图例自动将这些线标记为data1, data2, data3,...。然而,我需要图例来显示伐木者的名字。因为有许多记录器,我需要MATLAB自动完成,因为使用DisplayName并手动键入每个记录器名称需要几个小时。有人知道如何在数据表中选择一列作为行的名称吗?我的表构建如下:

代码语言:javascript
运行
复制
Name of logger 1| Date | Temperature | Name of logger 2 | Date | Temperature % and so on

这是我用于绘图的代码的一部分:

代码语言:javascript
运行
复制
hold on
for i=2:2:35
   plot(data{:,1}, data{:,i})
end
hold off

的结构。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-22 18:11:18

您可以使用plotDisplayName参数,结合动态检索表变量名,自动完成此操作。

代码语言:javascript
运行
复制
vNames = data.Properties.VariableNames;
for ii = 2:2:35
    plot( data{:,1}, data{:,ii}, 'DisplayName', vNames{ii} );
end

现在,当您调用legend时,该系列将根据表变量名命名。

请注意,一旦获得了变量名,就可以用它们对表进行等价的索引(而不是直接使用ii ),如下所示:

代码语言:javascript
运行
复制
vNames = data.Properties.VariableNames;
for ii = 2:2:35
    plot( data.Date, data.(vNames{ii}), 'DisplayName', vNames{ii} );
end    
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52926009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档