MATLAB Answers

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

69 views (last 30 days)
Andrew on 26 Jul 2013
Commented: Jan on 31 Mar 2021
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.
Andrew Sims

Answers (1)

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);
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!