필터 지우기
필터 지우기

Fix the trace in the plot

조회 수: 4 (최근 30일)
sally_wu
sally_wu 2016년 2월 6일
댓글: Star Strider 2016년 2월 7일
Is there a way somehow to get rid off the cross-line in this traces? For some reason,I am getting this cross-line that I do not want to! Any suggestions? Thanks
  댓글 수: 1
Stephen23
Stephen23 2016년 2월 6일
편집: Stephen23 2016년 2월 6일
We need to see your data. Please upload it: click the paperclip button, then both the Choose file and Attach file buttons.

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

답변 (3개)

Star Strider
Star Strider 2016년 2월 6일
Without your data, it’s difficult to say. One way would be to delete the last element of each of your x and y vectors:
x = [1:10 1];
y = randi(9, 1, 10);
y = [y y(1)];
figure(1)
subplot(2,1,1)
plot(x, y) % Original Data
subplot(2,1,2)
plot(x(1:end-1), y(1:end-1)) % Delete Wrap-Around
Run this little code snippet to see the cause and effect of the change.
  댓글 수: 4
sally_wu
sally_wu 2016년 2월 6일
편집: sally_wu 2016년 2월 6일
ref=81;
slice=500;
A1 = loaddata('a2.txt');
d =size(A1);
j=0;
for i=1:d(1,1);
if(A1(i,1)==slice);
j=j+1;
a(j,1)=A1(i,2);
b(j,1)=A1(i,4)-ref;
end
plot(a(1:end-1), b(1:end-1))
grid on
end
My apologies, but it did not work out...I am still getting that annoying cross-line, which I do not want to..
Star Strider
Star Strider 2016년 2월 7일
Please upload your data, preferably as a .mat file. Without having it to work with, I can only guess as to what the problem is (and thus far, that doesn’t seem to be productive for either of us).
Use the ‘paperclip’ icon to upload it, and then complete both the ‘Choose file’ and ‘Attach file’ steps.

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


Azzi Abdelmalek
Azzi Abdelmalek 2016년 2월 6일
Get ride of the last point in your plot

Geoff Hayes
Geoff Hayes 2016년 2월 6일
sally - I suspect that if you are plotting something similar to
plot(x,y)
then some of your x values are out of order (i.e. 5000,5001,6799,6800,5002,5003,etc). For example, if I want to plot the curve
y = x^2;
where x is defined as
x = linspace(-25,25,1000);
which I then re-arrange (or sort out of order) the x values as
x = [x(251:end) x(1:250)];
I will observe the following upon plotting
y = x.^2;
plot(x,y)
I get the same "cross-line" as you! To correct, you can try to sort the x and y values as
data = sortrows([x' y']); % sort on first column
x = data(:,1);
y = data(:,2);
plot(x,y);
which should plot as expected without the undesirable line.

카테고리

Help CenterFile Exchange에서 Visual Exploration에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by