Several line plot (2D) with colormap (including labelling)
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Askeladden2
el 4 de En. de 2023
Comentada: Dyuman Joshi
el 5 de En. de 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 comentarios
Dyuman Joshi
el 4 de En. de 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')
Respuesta aceptada
Dyuman Joshi
el 4 de En. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Colormaps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!