How can I add the percentage result on plotted figure ?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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.

0 Commenti
Risposte (2)
Alan Stevens
il 22 Giu 2021
doc text
5 Commenti
Alan Stevens
il 22 Giu 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.
Steven Lord
il 22 Giu 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 Commenti
Walter Roberson
il 24 Giu 2021
Modificato: Walter Roberson
il 24 Giu 2021
txt = sprintf('ratio = %.2f', (intensity/intensity_max)*100);
title(txt)
Vedere anche
Categorie
Scopri di più su Labels and Annotations in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!