2017-05-20 4 views
-1

x = 0을 y 축에 지정합니다. 지금은 작동하지 않습니다. 나는이 명령을 만들려고하지만 y 축을 x = 0에 놓는 방법?

set(gca, "yaxislocation", "zero")

내 코드

를 작동하지 않습니다.

labels = [0 128 256 512 1024 2048]; % Provide your labels here 
ylabels = [0 1 2 4 8 16 32]; % Provide your labels here 

hold on; 

% system1 durations in seconds 

plot (3, 1 ,'o' ,"markersize", 12); 
plot (4, 1, 'o' ,"markersize", 12); 
plot (5, 30, 'o' ,"markersize", 12); 
plot (6, 150, 'o' ,"markersize", 12); 

% system2 durations in seconds 

plot (3, 2 ,'x' ,"markersize", 12, "markerfacecolor", "auto"); 
plot (4, 2, 'x' ,"markersize", 12, "markerfacecolor", "auto"); 
plot (5, 10, 'x' ,"markersize", 12, "markerfacecolor", "auto"); 
plot (6, 30, 'x' ,"markersize", 12, "markerfacecolor", "auto"); 

% system3 durations in seconds 

plot (3, 2 ,'d' ,"markersize", 12, "markerfacecolor", "auto"); 
plot (4, 7, 'd' ,"markersize", 12, "markerfacecolor", "auto"); 
plot (5, 18, 'd' ,"markersize", 12, "markerfacecolor", "auto"); 
plot (6, 22, 'd' ,"markersize", 12, "markerfacecolor", "auto"); 

%set(gca, 'xtick', x); % Change the x-axis so only the right amount of ticks remain 
%set(gca, 'xticklabel', labels) % Change the labels to the desired ones 
%set(gca, 'yticklabel', ylabels) % Change the labels to the desired ones 
%set(gca, "xaxislocation", "zero") 
set(gca, "yaxislocation", "zero") 
%axis([0,1, miny, maxy]); axis "autox"; 

y 축과 x 축 모두에 지수 스케일을 표시하려고하지만 불가능합니다. 결론적으로 옥타브는 쓸모없고 gnuplot도 작동하지 않으며 그래프를 수동으로 그리는 것이 더 좋습니다. matlab도 옥타브도 지수 적 스케일과 같은 간단한 것을 만들 수는 없으며, 그것이 속한 곳에 제로를 둘 수 없다.

+0

[이 버그보고] (http://savannah.gnu.org/bugs/?47966)에 따르면 : '0'옵션은 gnuplot 툴킷에서만 유용하며, FLTK 및 Qt와 같은 OpenGL 그래픽 툴킷 그것을 구현하지 마십시오. " – TroyHaskin

답변

1

변경 세트 http://hg.savannah.gnu.org/hgweb/octave/rev/1ddb53b6ad30과 함께 추가되었으며 이미 GNU Octave 4.2.0 릴리스에 포함되어 있습니다. 당신이 사용하는 버전을 언급하지 않거나 당신이 경고 또는 오류 메시지를받을 경우 난 그냥 당신이 이전 버전

편집을 사용하는 추측 할 수 있기 때문에

: 정말 모르겠어요 경우 (x의 OpenGL을 지원/y) axislocation은 이미 4.2.0의 일부였습니다. 나는 그것이 현재 개발 소스에서 작동하고 그것이 4.2.0에서 작동한다는 것을 말할 수있다. graphics_toolkit gnuplot

+0

내가 사용하는 버전 4.0.0입니다. –

+1

2015 년에 출시 된 버전을 사용하는 이유가 무엇입니까? – Andy

+0

더 이상 설치할 수 없습니다. 수동으로 다운로드해야합니다. 나는 우분투 16.04를 사용한다. –

1

y 축에 x = 0을 원한다.

내게는 x 축에서 음모를 0부터 시작하려고합니다. 그래서 당신이 찾고있는 것은 x 축 한계를 설정하는 함수입니다.

xlim 기능을 사용하거나 axis을 더 일반적으로 사용하여 x 및 y 축 제한을 동시에 설정할 수 있습니다. the octave documentation page on this을 참조하십시오.

예. 0에서 x 축 시작을 100까지 이동하려면 다음 yaxislocation는 완전히 다른 무언가를하는 것이

xlim([0,100]); 

참고. 는

당신이 대신 할하려는 것은 반대로이 그래프의 중간에있는 경우에도 y 축과 레이블은 항상 X = 0 행에 표시 할 경우 https://uk.mathworks.com/help/matlab/examples/controlling-axis-location.html?searchHighlight=yaxislocation&s_tid=doc_srchtitle를 참조하십시오 예를 들어 그림의 왼쪽 또는 오른쪽에 고정 된 다음 해당 링크의 지침을 따르십시오. 기본적으로 :

set(gca, 'yaxislocation', 'origin'); 

(참고 : 값 '제로'이 매개 변수의 유효한 값으로 사용하지만,이 값 같은 일을 '기원'에 찬성 중지되었습니다).