Several line plot (2D) with colormap (including labelling)
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Askeladden2
am 4 Jan. 2023
Kommentiert: Dyuman Joshi
am 5 Jan. 2023
Dear All Community Members,
I have about 300 lines that I want to be colored depending on a third value in one plot.
I have created a simplified example below to illustrate my problem:
I have 6 lines. The coordinates of the lines are given in the matrices 'x' and 'y' below:
x=[1,3,5,1,3,5;2,4,6,2,4,6]
y=[1,1,1,-1,-1,-1;1,1,1,-1,-1,-1]
The coloring of the lines depends on the values given in vector 'z' below:
z=[3.1,2.2,4.8,1.6,2.9,3.7]
I would also like to add a color label to the plot.
The output plot shall be as below:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1251892/image.jpeg)
N.B. I dont need the text above the lines.
Can anyone assist me?
I appreciate any help you can provide.
2 Kommentare
Dyuman Joshi
am 4 Jan. 2023
How do the z values co-relate to the color values?
What are the boundaries of colors as set in the colorbar in the image you attached?
The rest has been done -
x=[1,3,5,1,3,5;2,4,6,2,4,6];
y=[1,1,1,-1,-1,-1;1,1,1,-1,-1,-1];
z=[3.1,2.2,4.8,1.6,2.9,3.7];
plot(x, y, 'LineWidth', 2)
axis([0 8 -2 2])
colorbar('east')
Akzeptierte Antwort
Dyuman Joshi
am 4 Jan. 2023
x=[1,3,5,1,3,5;2,4,6,2,4,6];
y=[1,1,1,-1,-1,-1;1,1,1,-1,-1,-1];
z=[3.1,2.2,4.8,1.6,2.9,3.7];
%defining colormap
map=[255 0 0;255 165 0;255 255 0;0 255 0;0 0 255]/255;
%interpolating values according to z
yo=interp1(1:5,map,z);
%plotting
for i=1:size(x,2)
plot(x(:,i), y(:,i), 'LineWidth', 2.5, 'Color', yo(i,:))
hold on
end
hold off
%adjusting other properties
axis([0 8 -2 2])
colormap(map)
caxis([1 5])
colorbar('Position', [0.8 0.25 0.04 0.6])
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Colormaps 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!