Filter löschen
Filter löschen

Several line plot (2D) with colormap (including labelling)

3 Ansichten (letzte 30 Tage)
Askeladden2
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:
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
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')
Askeladden2
Askeladden2 am 4 Jan. 2023
Thank you for your swift reply.
I want the lines and colorbar to be adjusted automatically to the values in the z vector, if that is possible.
The color boundaries given the example is as follows:
Lines with z-values between 1-1.75 shall be colored red
Lines with z-values between 1.75-2.6 shall be colored orange
Lines with z-values between 2.6-3.4 shall be colored yellow
Lines with z-values between 3.4-4.2 shall be colored green.
Lines with z-values above 4.2 shall be colored blue.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dyuman Joshi
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])

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by