Identify lines in a plot by clicking on them

19 visualizaciones (últimos 30 días)
Gino Sartori
Gino Sartori el 26 de En. de 2024
Comentada: Gino Sartori el 9 de Feb. de 2024
hi,
I have to import a bunch of .txt files (approx. 200) from a folder and create a line plot of the first vs. third column.
my code is:
input_folder = uigetdir('start_path','dialog_title');
files = dir(fullfile(input_folder, '*.txt'));
file_paths = fullfile({files.folder}, {files.name});
for i = 1 : numel(file_paths)
data = readmatrix(file_paths{i},'Delimiter',{',','='});
plot(data(:,1),data(:,3),'-r');
hold on
end
Now I would like to be able to identify (i.e. get the corresponding file name) the lines in the plot by clicking on them. Any ideas on how to achieve such a result?
Thanks
  3 comentarios
Gino Sartori
Gino Sartori el 26 de En. de 2024
I have tried to add a line of text to datatip using the dataTipTextRow function (based on this example) but cannot achieve what I want. I assume the problem comes from the fact that I loop through the .txt files containing the data.
Walter Roberson
Walter Roberson el 26 de En. de 2024
It would help if you were to
[~,partname] = fileparts(file_paths{i});
plot(data(:,1), data(:,3), '-r', 'displayname', partname);

Iniciar sesión para comentar.

Respuesta aceptada

Pavan Sahith
Pavan Sahith el 6 de Feb. de 2024
Hello Gino,
I've noticed that you're working with multiple .txt files to create line plots and you're interested in finding a way to identify which line corresponds to which file by simply clicking on it.
If you want to identify lines in the plot by clicking on them, you can try using the UserData property of the plot object and a custom data cursor update function.
I've put together a code example that will generate a plot with lines for each of your text files. When you interact with a line on this plot, a data cursor will pop up showing the X and Y coordinates of the selected point, as well as the name of the related file.
This method uses an update function for the "data cursor mode" that fetches the file's name from the "UserData" property attached to each plotted line.
Please refer to the following MathWorks documentation to know more about
Hope this helps

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by