MATLAB Plot points joining
조회 수: 5 (최근 30일)
이전 댓글 표시
Hi,
When I run the following code:
A=tau_invp;
B=T_delayp;
C=K_olp;
figure
grid
hold on;
for n=1:length(zeta_dom_r)
if abs(zeta_dom_r(n)-0.000)>0.0001
A(n)=0;
B(n)=0;
C(n)=0;
end
end
D=A./B;
plot(C, D, '.')
xlabel('K_{ol}');
ylabel('\alpha \propto (\tau/T)');
xlim([0 3]);
ylim([0 2]);
I get the image with six dot points. But when I put '.-' instead of '.', nothing changes on the graph. I still see simple dots. What could be a possible reason for that? I want to see the dots connected.
댓글 수: 0
답변 (2개)
Star Strider
2015년 9월 17일
I can’t run your code because I don’t have your data.
What is the result if you do:
plot(C, D, '-r')
or simply:
plot(C, D)
댓글 수: 9
Star Strider
2015년 9월 18일
I experimented with it, and when I minimally changed your code to move the plot to be after the loop instead of including the loop:
load('Newdata_N60.mat');
A=tau_invp;
B=T_delayp;
C=K_olp;
for n=1:length(zeta_dom)
if abs(zeta_dom(n)-0.000)>0.0001
A(n)=0;
B(n)=0;
C(n)=0;
end
end
D = A./B;
Dv = find(~isnan(D));
Dr = [min(Dv) max(Dv)];
figure(1)
plot(C(Dv), D(Dv), 'bp')
xlabel('K_{ol}');
ylabel('\alpha \propto (\tau/T)');
xlim([0 3]);
ylim([0 2]);
grid
I discovered (with ‘Dv’) that you have only one non-NaN point in D. (I plotted it as a star so I could see it. You mentioned that you got six plotted points, so we must not be using the same data.) If you have more than one valid data point, change the plot call to replace 'bp' with 'b.-' to connect them.
Note that NaN values don’t plot, and interrupt the connections between data that otherwise do plot, so it is necessary to eliminate the NaN values before plotting them (as I did here) in order to connect them.
Tim Jackman
2015년 9월 17일
Try manually setting the LineStyle property manually:
>> lHandle = get(gca,'Children')
>> set(lHandle,'LineStyle','-')
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!