buttondownfcn matlab,MATLAB无法使用ButtonDownFcn保存每个轴鼠标点击子图

我有一个3x1子图,我已经想出了如何捕获鼠标点击坐标并将它们存储到每个轴内的数组中。不过,我想修改我的代码,这样我就可以将来自每个轴的鼠标点击一次全部存储起来。

这是我的代码:

function Callbacks

x = 0:30;

y1 = 1.5*cos(x);

y2 = 1.5*cos(x)*10;

y3 = 1.5*cos(x)*100;

subplot(3,1,1)

plot(x,y1,'ButtonDownFcn',{@lineCallBack,'plot1'})

subplot(3,1,2)

plot(x,y2,'ButtonDownFcn',{@lineCallBack,'plot2'})

subplot(3,1,3)

plot(x,y3,'ButtonDownFcn',{@lineCallBack,'plot3'})

end

function lineCallBack(src,evt,tag_name)

src.Tag = tag_name;

N=2;

P1array = zeros(N,2);

P2array = zeros(N,2);

P3array = zeros(N,2);

for k = 1:N

if strcmp(tag_name,'plot1')

[P1array(k,1),P1array(k,2)] = ginput(1);

hold on;

plot(P1array(k,1),P1array(k,2),'*r')

elseif strcmp(tag_name,'plot2')

[P2array(k,1),P2array(k,2)] = ginput(1);

hold on;

plot(P2array(k,1),P2array(k,2),'*r')

elseif strcmp(tag_name,'plot3')

[P3array(k,1),P3array(k,2)] = ginput(1);

hold on;

plot(P3array(k,1),P3array(k,2),'*r')

end

endOUTPUT

P1array =

1 2

3 4

P2array =

0 0

0 0

P3array =

0 0

0 0如上面的输出所示,点击后,它似乎只捕获我点击的最后一个坐标轴。我希望能够获得所有轴点的值。谁能帮忙?谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值