Scaleable, draggable box on plots that can select data

↘锁芯ラ 提交于 2020-01-01 09:24:36

问题


Here's the setup:

I've got a graphical plot of data, and I'm trying to find if it's feasible to try to put a box on the figure that can be moved and changed in width and return some values like percentage of and area under the curve. It looks something like this:

Any suggestions on where to start? My feeling was that it might be doable using a more GUI'd interface versus a standard plot.


回答1:


I would start with imrect. It is draggable, and you can add callbacks to it.

(Taken directly from MATLAB help)

figure, imshow('cameraman.tif');
h = imrect(gca, [10 10 100 100]);
addNewPositionCallback(h, @(p) title(mat2str(p, 3)));
fcn = makeConstrainToRectFcn('imrect', get(gca,'XLim'), get(gca, 'YLim'));
setPositionConstraintFcn(h, fcn);

Change the addNewPositionCallback to something that suits your needs. Specifically, get the needed pixels from the image (by using the position), and calculate whatever you like.



来源:https://stackoverflow.com/questions/10998739/scaleable-draggable-box-on-plots-that-can-select-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!