Ploting same y axis with two colors
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Gökberk Kaya
am 23 Okt. 2023
Kommentiert: Dyuman Joshi
am 26 Okt. 2023
Assuming there is matrix 10x2, which is called HW. First collumn values will be the X axis. Second collumn is [1,4,5,7,2,24,8,9,18,11] and will be in Y axis. In the plot, higher y values than average will be in different color than lower y values. I wrote this code which does not work due to numbers does not match and I am unable to find a proper plot function. I cannot use programming (such as: if statements). By the way X also randomly distributed.
I need them in one line. Such as from 1 to 2 (first 5 element) line is red than to 6th element, 24, blue and goes like this (r,b,r,b)
HWT = find(HW(:,1)>=mean(HW(:,1)))
HWS = find(HW(:,1)<=mean(HW(:,1)))
plot(HW(:,1),HW(HWT,2),"Color","r",HW(HWS,2),"Color","b")
Is there any plot function to solve this.
Thank you for your help.
0 Kommentare
Akzeptierte Antwort
Dyuman Joshi
am 23 Okt. 2023
HW = [rand(10,1) [1;4;5;7;2;24;8;9;18;11]];
%Mean value
m = mean(HW(:,2));
%Comparison with mean
idx1 = HW(:,2) >= m;
idx2 = ~idx1;
%Use the indices to plot the corresponding values
plot(HW(idx1,1), HW(idx1,2), 'r', HW(idx2,1), HW(idx2,2), 'b')
%Showing the average value
yline(m, 'k')
7 Kommentare
Weitere Antworten (1)
Walter Roberson
am 24 Okt. 2023
See https://www.mathworks.com/matlabcentral/fileexchange/19476-colored-line-or-scatter-plot or https://www.mathworks.com/matlabcentral/fileexchange/26692-color_line or https://www.mathworks.com/matlabcentral/fileexchange/23566-3d-colored-line-plot or https://www.mathworks.com/matlabcentral/fileexchange/30423-conditionally-colored-line-plot?s_tid=prof_contriblnk
Siehe auch
Kategorien
Mehr zu Line Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!