我正在尝试制作一个允许用户选择一系列x值的GUI,这些值仅限于一组预定义的“标记”,这些标记可以出现在某些数据的图形上。 Matlab程序有一堆数据已经用一定数量的标记分隔,并要求用户选择其中两个标记作为起点和终点,然后从那里继续。
我的问题是Matlab是否有一个内置函数或对象,它会在绘图上放置某种交互式标记(最好是在图形的底部,这样就不会使数据模糊不清)用户可以单击以便我可以从中获取回调函数,并查看用户选择的标记(也可能有能力更改其颜色等,以表示其选择)。
最好答案不涉及任何附加组件,但任何答案和任何帮助将不胜感激。谢谢!
答案 0 :(得分:2)
这是一个使用ginput的非常简单的示例,它要求用户选择绘制数据的起点和终点。
clear
clc
close all
x = 1:15*pi;
figure
plot(x,sin(x),'LineWidth',2);
uiwait(msgbox('Select a start and finish point'))
a = zeros(1,2);
[a,~] = ginput(2);
xStart = a(1);
xFinish = a(2);
set(gca,'XLim',[xStart xFinish],'XTick',round(xStart):1:round(xFinish))
你有这样的想法吗?你真的需要回调还是这个足够吗?如果没有,你能详细说明你需要什么样的标记吗?
希望有所帮助!