在Matlab中如何根据用户选择为图形添加标题

在Matlab中如何根据用户选择为图形添加标题,matlab,graph,title,Matlab,Graph,Title,我打开一个对话框供用户选择一个参数,并根据该参数创建一个图形。 用户可以从对话框的列表中选择一个或多个参数,如果用户选择了多个参数,则所有绘图都将在同一个图形中(每个绘图的颜色不同) 现在,我想根据用户选择将标题添加到图形中(例如,如果用户选择参数a,则标题应为:a,如果用户选择多个参数,则标题应为:a+B+…) 可能吗?怎么做呢?下面是一些代码,它们似乎可以实现您的目标;我曾经想做一些类似的事情,对我来说效果很好,希望你也是这样。我写了一些评论,所以你的申请应该很容易理解/复制 clear c

我打开一个对话框供用户选择一个参数,并根据该参数创建一个图形。 用户可以从对话框的列表中选择一个或多个参数,如果用户选择了多个参数,则所有绘图都将在同一个图形中(每个绘图的颜色不同)

现在,我想根据用户选择将标题添加到图形中(例如,如果用户选择参数a,则标题应为:a,如果用户选择多个参数,则标题应为:a+B+…)
可能吗?怎么做呢?

下面是一些代码,它们似乎可以实现您的目标;我曾经想做一些类似的事情,对我来说效果很好,希望你也是这样。我写了一些评论,所以你的申请应该很容易理解/复制

clear
clc

%// Generate dummy data
x = 1:10;

y1 = 3*x-2;
y2 = x.^2/2;
y3 = x + rand(1,10);

%// Store data in a cell in a cell array. Easy to access in a loop.
DataCell = {y1;y2;y3};

%// Do the same for the plot properties, title and legend entries.
ColorCell = {'b';'--r';'+-g'};
LegendCell = {'Dataset 1';'Dataset 2';'Dataset 3'};

TitleCell = {'Dataset 1';'Dataset 2';'Dataset 3'};

%// Setup dialog box for data selection
SelectionString = {'y1' 'y2' 'y3'};
[selection,~] = listdlg('PromptString','Select data to plot','ListString',SelectionString);

TitleString = ''; %Initialize TitleString, which is updated in the loop.

%// Plot data
hold on
for k = selection
    plot(x,DataCell{k},ColorCell{k})

    TitleString = [TitleString '+' TitleCell{k}];

end

TitleString(1) = [];%// Remove the first character.

title(TitleString)
legend(LegendCell{selection},'location','best')
hold off
样地:


希望能有所帮助。

将您目前掌握的代码添加到您的问题中。:)它可能使用一些基本的字符串连接。如果您有参数名:['var1'+'var2']。没有你的帮助是很难的code@Talma你要找的是这样的东西吗?谢谢你的帮助。这似乎是我需要的。我将尝试根据我的代码调整您的答案并运行它。之后我会更新。再次感谢你,基本上成功了。我必须收集一个频率列表,让用户从列表中选择一个或多个频率,然后绘制他的选择。代码:%s汇编一个频率列表,供用户从UniqueFreq=unique(vec)中选择;[Selection,ok]=listdlg(根据UniqueFreq)绘图(所选频率的图形…)Benoit_11改编代码好吧,那太好了!谢谢你的反馈!