フィルターのクリア

changing the plot in GUI manually (only part of the plot)

2 ビュー (過去 30 日間)
alex
alex 2012 年 11 月 7 日
I am trying to implement things from this link-
in a bit more complex gui.. I have a curve plotted, and using a peakfinder function I find all the maxima in the plot,and mark them with an X (using another plot function) but then I want the user to have the ability to correct the location of the maxima if they are wrong, or to erase some X if they are unnecessary.
I can’t understand what should I change or add to make it work to drag only a certain X each step.
in this code it isn't a gui but I still have the same problem
my code-
function main
global data_file
x=0:0.1:100
data_file=sin(x)*5+(rand(100*10+1,1)-0.5)
starting_sample= 1;
sampling_rate=1;
len = length(data_file);
f=figure(NumberTitle,'off’,'color,'w’,…
Menubar,'none’);
[picks1,locs1]= findpeaks(data_file(starting_sample:sampling_rate:len),MINPEAKDISTANCE,10);
a=axes(xlim,[0 100], ylim,[-5 5]);
plot(1:sampling_rate:len,data_file(starting_sample:sampling_rate:len));
hold on
p=plot(locs1,picks1,x',linewidth,2,color,'r’,'ButtonDownFcn,@start_drag1);
hold off
set(f,WindowButtonUpFcn,@stop_drag1)
function start_drag1(varargin)
set(f,WindowButtonMotionFcn,@draging)
end
function draging(varargin)
pt= get(a,currentpoint)
set(p,XData,pt(1)*[1 1])
end
function stop_drag1(varargin)
set(f,WindowButtonMotionFcn,)
end
end

回答 (0 件)

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by