MATLAB Answers

help with plotting needed!

3 views (last 30 days)
YH
YH on 19 Jan 2020
Commented: darova on 19 Jan 2020
Hey guys,
I have 4 vectors HQ10, HQ100,HQ1000,HQ10000
for example: HQ10 =[1 1.5 1.7 1.6 1.8 2.1 2.2 2.5]
HQ100 = [1.9 2 2.2 2.5 2.7 2.9 3 3.1]
I want to plot them like in the figure attached where the x axes (HQ10 HQ100 HQ1000 HQ10000), and y axes represents the values.
I want the first value of all the vectors be the same colour, the second values be the same colour, and so on..
I hope I made my question clear because it is a little bit difficult to explain
would welcome any help or suggestions
thanks in advanced!

  0 Comments

Sign in to comment.

Accepted Answer

darova
darova on 19 Jan 2020
Use plot
clc,clear
HQ10 = [1 1.5 1.7 1.6 1.8 2.1 2.2 2.5];
HQ100 = [1.9 2 2.2 2.5 2.7 2.9 3 3.1];
HQ1000 = rand(1,length(HQ10))*3;
cmap = jet(8); % color data
x1 = [-1 1]*0.1; % line length
hold on
for i = 1:length(HQ10)
h(1) = plot(x1+1,HQ10(i)+x1*0);
h(2) = plot(x1+2,HQ100(i)+x1*0);
h(3) = plot(x1+3,HQ1000(i)+x1*0);
set(h,'color',cmap(i,:))
set(h,'linewidth',3)
end
hold off

  2 Comments

YH
YH on 19 Jan 2020
Thank you very much! that what I was looking for.
Do you know how I can ledgend by the colour?
for example the blue line represents 1900 , light bule represent 1800, green represents 1700
darova
darova on 19 Jan 2020
h = zeros(length(HQ10),3);
hold on
for i = 1:length(HQ10)
h(i,1) = plot(x1+1,HQ10(i)+x1*0);
h(i,2) = plot(x1+2,HQ100(i)+x1*0);
h(i,3) = plot(x1+3,HQ1000(i)+x1*0);
set(h(i,:),'color',cmap(i,:))
end
set(h,'linewidth',3)
legend(h(:,1),'blue', ...
'blue1', ...
'cyan', ...
'green', ...
'yellow')
hold off

Sign in to comment.

More Answers (1)

tomer polsky
tomer polsky on 19 Jan 2020
do you mean like this ?
HQ10 =[1 1.5 1.7 1.6 1.8 2.1 2.2 2.5]
HQ100 = [1.9 2 2.2 2.5 2.7 2.9 3 3.1]
plot(HQ10,'red');
hold on;
plot(HQ100 ,'blue');
legend('HQ10','HQ100')

  1 Comment

YH
YH on 19 Jan 2020
no, I mean in the same way as in the image I have attached.
every first value of the vectores represents a time period. this is way I want to plot the first values at the same coluor, then the second values at another colour..
I dont really know what type of plotting that is. tried to search the answers here but couldnt see some thing similar.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!