How can I add the percentage result on plotted figure ?

12 visualizaciones (últimos 30 días)
Onur Hakverdi
Onur Hakverdi el 22 de Jun. de 2021
Editada: Walter Roberson el 24 de Jun. de 2021
Hi I have this code. Everything is fine, the code plots wavelength-intensity relationship according to the csv data and it labels the peak point. So my question is I have a formula for the percentage. It's (intensity/intensity_max)*100 so I need to add a text code that will solve the equation and it will show the result for every if and elseif state on the figure.

Respuestas (2)

Alan Stevens
Alan Stevens el 22 de Jun. de 2021
  5 comentarios
Alan Stevens
Alan Stevens el 22 de Jun. de 2021
You have intensity values at all waveengths!
Since the first "if" section just considers intensity_max, not intensity, I guess you want to calculate
(intensity_max/345.1)*100.
If so, then do something like:
pc = (intensity_max/intensity)*100;
then after your plot command do something like
text(x,y,num2str(pc))
where you choose x and y as suitable coordinates to place the value where you want on the graph.
Onur Hakverdi
Onur Hakverdi el 22 de Jun. de 2021
my x and y coordinates are undefined so I don't know the values because it's randomly data.

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 22 de Jun. de 2021
FYI if you want the only marker to be at the highest point you could use MarkerIndices rather than plotting two separate lines.
x = 1:100;
y = 20*rand(size(x));
[~, ind] = max(y);
plot(x, y, 'o-', 'MarkerFaceColor', 'r', 'MarkerIndices', ind)
I'm not 100% sure of what you're looking for, but do you want to have lines across the plot indicating when the values are in certain ranges?
figure
plot(x, y, 'o-', 'MarkerFaceColor', 'r', 'MarkerIndices', ind)
hold on
yline(10, 'Label', 'halfway point');
yline(5, 'Label', 'quarter of the way through')
  12 comentarios
Onur Hakverdi
Onur Hakverdi el 23 de Jun. de 2021
hi problem with the x y coordinates because my coordinates are unknown it depends the data.
Walter Roberson
Walter Roberson el 24 de Jun. de 2021
Editada: Walter Roberson el 24 de Jun. de 2021
txt = sprintf('ratio = %.2f', (intensity/intensity_max)*100);
title(txt)

Iniciar sesión para comentar.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by