divide matlab line plot in two lines of the same colour

Hi I am trying to plot a graph in the code below. Does anyone know how to split the "azimuth_summer_solstice" and "altitude_summer_solstice" line. As the data is, there are two curves on either side of the graph which are connected. I want to remove this connecting line and show the winter_solstice as two separate curves
My code is
if Y = xlsread('hanimaadhoo_sun_path.xls','hanimaadhoo'); %
azimuth_march_equinox = Y(1:17,1);
altitude_march_equinox = Y(1:17,2);
azimuth_september_equinox = Y(1:17,3);
altitude_september_equinox =Y(1:17,4);
azimuth_winter_solstice = Y(1:17,5);
altitude_winter_solstice = Y(1:17,6);
azimuth_summer_solstice = Y(1:17,7);
altitude_summer_solstice = Y(1:17,8);
The azimuth_summer_solstice is
[60.6 64.9 67.5 68.7 68.7 67.0 62.1 49.3 11.6 319.2 298.1 290.6 287.7 287.0 287.6
289.5 292.9]
The altitude_summer_solstice is
[ -28.20 -14.6 -0.5 13.2 27.2 41.22 54.9 67.6 76.1 72.5 60.9 47.60 33.7 19.6 5.6 -8.3 -22.08]
figure;
plot(azimuth_summer_solstice,altitude_summer_solstice,azimuth_winter_solstice,altitude_winter_solstice,...
azimuth_march_equinox,altitude_march_equinox,azimuth_september_equinox,altitude_september_equinox,'LineWidth',2);

댓글 수: 2

Since this matrix is only 17x8, or at least the part you're using here, can you just post the matrix. It would be really helpful in this case.
Wayne, I have updated my original question. hope it helps!

댓글을 달려면 로그인하십시오.

답변 (2개)

Wayne King
Wayne King 2012년 9월 23일
편집: Wayne King 2012년 9월 23일
Do you need to plot these with a line? Typically when you plot data like this you would just use a scatter plot
plot(azimuth_summer_solstice,altitude_summer_solstice,'b^',...
'markerfacecolor',[0 0 1]);
Or maybe a stem plot:
h = stem(azimuth_summer_solstice,altitude_summer_solstice,...
'fill','--');
set(get(h,'BaseLine'),'LineStyle',':')
set(h,'MarkerFaceColor','red')

댓글 수: 1

ideally this has to be done with a line! I understand your point about the scatter though

댓글을 달려면 로그인하십시오.

Wayne King
Wayne King 2012년 9월 23일
You can easily break up the data where there is clear jump in the azimuth: 68.7000 to 287.0000
To do this you sort the azimuth data, but keep the indices from the sort. You then sort the altitude data using those indices so you keep the correspondence between the two variables.
[az_ss,I] = sort(azimuth_summer_solstice);
al_ss = altitude_summer_solstice(I);
plot(az_ss(1:9),al_ss(1:9),'b');
axis([0 320 -30 70]);
hold on;
plot(az_ss(10:end),al_ss(10:end),'b');
Without a clearer picture of the rest of the data or the ultimate goal, it's hard to be more of a help than that.

댓글 수: 1

Thanks Wayne, but I can seem to position the other three lines on that graph as well. could you suggest how to do all the lines simultaneously on the same graph

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

질문:

2012년 9월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by