How to label each line in the plot
24 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Med Future
le 28 Mar 2022
Réponse apportée : Scott MacKenzie
le 28 Mar 2022
Hello everyone i hope you are doing well. I want to label y axis with the value i get from
Value= unique(whiteLineRows1);
but when i plot it gives the Value= as in the image attached
How can i plot the value on each line
path = 'C:\Users\DELL\Documents\MATLAB\Examples\R2021b\phased\ModClassificationOfRadarAndCommSignalsExample\NewDataset\DatasetGeneration\Detection\ImageDetection\imageclass_001001.png';
rgbImage = imread(path);
[rows, columns, numberOfColorChannels] = size(rgbImage);
if numberOfColorChannels > 1
grayImage = rgbImage(:, :, 3);
else
grayImage = rgbImage;
end
[rows, columns, numberOfColorChannels] = size(rgbImage);
mask = grayImage >= 128;
[labeledImage, numRegions] = bwlabel(mask);
props = regionprops(labeledImage, 'Area', 'Centroid');
allLengths = [props.Area];
centroids = vertcat(props.Centroid);
whiteLineRows1 = centroids(:, 2);
Value= unique(whiteLineRows1);
hold on
Levels=length(Value);
for k = 1 : Levels
str = sprintf('Value %d', Value(k))
yline(Value, 'LineWidth', 2, 'Color', 'r','Label',str);
hold off
end
0 commentaires
Réponse acceptée
Scott MacKenzie
le 28 Mar 2022
The main problem in the image is that the values are superimposed. This can be fixed by using an index into the Values array for each line:
for k = 1 : Levels
str = sprintf('Value %d', Value(k))
yline(Value(k), 'LineWidth', 2, 'Color', 'r','Label',str); % add index into Value
hold off
end
0 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!