在MATLAB GUI标签

时间:2015-05-21 19:23:55

标签: matlab matlab-guide

我正在写一个gui,其中包含一个popupmenu。此弹出菜单应根据名为titles的单元格数组显示不同的名称,如下所示:

handles.titles={'time','velocity','angular velocity'};

接下来,当我点击弹出菜单时,我想让它绘制连接到这个标题的列。

所以,如果我点击第二个弹出菜单选项,我想获得速度与时间的关系图。

handles.Parameter_Menu=hObject;
axes(handles.low_axis);
guidata(hObject,handles)
x_axis=xlim([handles.top_axis]);
set(hObject,'string',handles.titles(1:size(handles.matrix.Data,2)));
channel = get(hObject,'Value');
title_channel=handles.titles{channel}

plot(handles.(handles.titles{1}),handles.(handles.titles{channel}));
text=['graph of ' handles.titles2{channel} ' vs ' handles.titles2{1}];
title(text,'fontsize',12)
set(gca,'fontsize',10)
grid on

当我尝试使用标题{3}时会出现问题,因为它在单词之间有空格。

当然我可以像angular_velocity那样写它,但是当我在图表的标题中使用它时,我收到字母“v”因为它之前的_而小。

是否可以选择使用空格或选项将其与_一起使用但是为了避免它在标题中的影响?

1 个答案:

答案 0 :(得分:0)

要使图表中的标题显示_,您可以在\之前插入_(类似于乳胶):

handles.titles={'time','velocity','angular\_velocity'};

更新:

因为你不仅使用标题{i}作为绘图,而且还在其他命令中将它用作结构的字段名,那么就没有办法space,因为结构的字段名必须满足某些条件:Valid field names begin with a letter, and can contain letters, digits, and underscores.

因此,您必须使用titles{3} = 'angular_velocity'使其他操作正常工作,并将标题的Interpreter属性设置为none,以使图表的标题显示as typed(默认是TeX Markup,这就是我在\_上面使用_的原因:

title(handle_of_something, titles{3}, 'Interpreter','none')