【发布时间】:2014-05-07 18:33:05
【问题描述】:
我开发了一个 Matlab GUI,可以将数据从表格绘制成直方图。
我希望能够单击一个 bin 并从表中提取与该 bin 中的数据相对应的行。使用数据光标时,单击 bin 将显示 bin 中心和边缘以及 bin 计数。我认为必须有一种方法可以返回分组在这些 bin 中的实际数据。
我已经研究了 ginput,但我不确定这是否是正确的轨道,或者我可以如何利用它来为我谋取利益。
感谢任何建议或指导!
示例表:
'Col1' 'Col2' 'Col3'
Name1 1 Thing1
Name2 5 Thing2
Name3 2 Thing3
Name4 1 Thing4
Name5 8 Thing5
Name6 10 Thing6
示例代码:
data = table.Col2;
hist(data); %histogram defaults to 10 bins
我希望能够主动点击直方图中的一个 bin,并将相应的行存储到另一个表中。
因此,对于上面的数据,直方图中的第一个 bin 包含表中的第 1 行和第 4 行 - 一旦我单击该 bin,我希望看到它存储在另一个表中:
'Col1' 'Col2' 'Col3'
Name1 1 Thing1
Name4 1 Thing4
如果我单击任何其他 bin,也会发生同样的情况,它们各自的数据应该存储到表中。
实际数据有几百行和多个其他列。 Col2 中的数据都是数字,但不一定是整数。
【问题讨论】:
-
您应该添加一个简单的数据和代码示例以获得直方图。更容易理解您的问题并提出有效的答案。
-
table是表对象(然后是坏名)还是结构?此外,最好预定义直方图箱并使用hist(data,bin)创建它。您是否总是认为每个 bin 都有一个值的数据? -
啊,你是对的,我输入那个例子太快了。我将更改示例中的措辞。另外,我确实有预定义的垃圾箱,但我并不担心这个问题。我只需要能够单击垃圾箱并获得可用数据。
标签: matlab user-interface histogram matlab-guide