2016-08-24 1 views
0

와 MATLAB에서 곡선을 플롯 :I는 두 벡터가 prefefined X 축

X = [1, 2, 3, 5, 6, 10, 20, 50, 100]

y = [7, 1, 2, 4, 2, 1, 5, 1];

MATLAB에서 X의 함수로 Y를 플롯하는 데 관심이 있습니다. 그래서, 이것을 수행 할 수

figure; 
plot(x, y, '--rs'); 

실제로는 코드 위의 곡선을 나타내는하지만, 다음과 같이 X 축 이격 같다 : 0, 10, 20, ..., 100

내가 원하는 것은 x의 값만 x 축에 표시하고 해당 y 축 값을 나타내는 곡선을 그리는 것입니다. x 축의 예는 아래 그림과 같습니다. enter image description here

도움이 될 것입니다!

+0

'set (gca, 'XTick', [(1 : 6) 10 20 50 100])'을 사용하면 xticks가 규칙적인 간격으로 간격을두고 싶습니다. –

+0

네,하지만 저는 x 축의 값을 똑같이 간격을두고 싶습니다. 그리고 y 축의 해당 값은 매우 명확합니다. 따라서 곡선을 명확하게 읽고 모든 x 점에 대해 y 점이 무엇인지 확인할 수 있습니다. 대단히 감사합니다 – Christina

+0

괜찮아요 아래 내 대답을 참조하십시오 –

답변

3

plot(x,y)을 사용하여 플로팅하는 대신 plot(1:numel(x),y)을 사용하고 XTick 및 XTickLabels` 속성을 사용하여 필요에 맞게 그래프의 레이블을 변경하십시오.

예 :

clc 
clear 

x = [1, 2, 3, 5, 6, 10, 20, 50, 100]; 

y=[7, 1, 2, 4, 2, 1, 5, 1, 1]; 

plot(1:numel(x),y,'--rs') 

set(gca, 'XTick', 1:length(x)); %// Change x-axis ticks 
set(gca, 'XTickLabel', x); %// Change x-axis ticks labels. 

결과 : 도움이

enter image description here

희망!

+0

sooo 많이 감사합니다 – Christina

+0

하하 당신을 환영합니다! –