MATLAB Answers

How to use the mouse to select and identify a line on a plot

69 views (last 30 days)
Andrew
Andrew on 26 Jul 2013
Commented: Jan on 31 Mar 2021
Hi,
I have an analysis that I am performing repeatedly. There are two multi-channel data sources. These sources have different and possibly varying identification numbers. It is important that data source A and B are correctly identified.
I would like to be able to include a user interactive check where a channel from source A and B are plotted together. The user is then asked for instance to pick or highlight the line from data set A. This is then used to identify A and B. If necessary a swap of data sets is then performed prior to launching into the full analysis.
I am new to GUI programming and using callbacks etc in Matlab and would appreciate any comments or suggestions on this.
Regards
Andrew Sims

Answers (1)

Jan
Jan on 26 Jul 2013
Edited: Jan on 26 Jul 2013
You can use the ButtonDownFcn of the line objects:
function smallTest
axes('NextPlot', 'add')
H(1) = plot(1:10, rand(1, 10), 'r');
H(2) = plot(1:10, rand(1, 10), 'b');
set(H, 'ButtonDownFcn', {@LineSelected, H})
function LineSelected(ObjectH, EventData, H)
set(ObjectH, 'LineWidth', 2.5);
set(H(H ~= ObjectH), 'LineWidth', 0.5);
  10 Comments
Jan
Jan on 31 Mar 2021
Okay, then do this. If you have a question to a specific detail, please open a new thread and explain it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!