2017-11-26 19 views
0

옥타브에서 음모를 그릴 때 음모 개체를 얻을 수 있습니다. 예를프로그래밍 방식으로 옥타브에서 레이블 가져 오기

pl = get(plot(...)) 

위해 나는 다음과 같은 레이블을 지정할 수 있습니다 : 나는 자동 학년에서 일하고 있어요

xlabel("something") 

및 플롯 객체 (PL)에서 xlabel의 내용을 확인해야합니다. 나는 플롯 객체에 속하지 않는 오류라고 xlabel 받고 있어요, 내가

disp(all(pl.xlabel == "something")) 

같은 것을 말할 수있을 거라고 생각하지만 것입니다.

+0

을 실제 오류가 무엇입니까 ? – excaza

+1

Matlab은 지난 2 년 동안 함수 구문 (예 :'get (graphics_object, field)'에서 'struct syntax "(예 :'graphics_object.field')로 전환했으며 현재 두 구문을 모두 지원합니다. 앞으로는 "function syntax"만 지원하기 때문에'pl.xlabel'은 옥타브에 적용되지 않습니다. 관심있는 필드가있는 적절한 객체에'get' /'set' 함수를 사용하십시오 대신 당신이 실수로 당신의 대답에 보여준 것입니다. –

+1

'findobj()'를 사용하여 접근 할 수 있습니다. 여기에 나와 있습니다 : https://stackoverflow.com/questions/47262876/modifying-font-size-for-pie -chart-lables/47315852 # 47315852. 레이블 문자열을 찾기 위해 수정할 수 있습니다. –

답변

0

축 개체가 하나 뿐인 경우 gca를 사용하여 현재 축 개체를 가져온 다음 축 개체를 통해 레이블 등을 가져올 수 있습니다.

ax = gca 
disp(get(get(ax, "XLabel") "String")) 

여러 가지 수치에 플롯과 그림이 그림을 얻을 경우, 당신이 직접 GCA 사용하기보다는, 다음을 수행 할 수없이 핸들이있는 경우 :

p1 = plot((1:10).^2); 
p2 = plot((1:10).^4); 
xlabel('Matt'); 
fig = ancestor(p1, 'figure'); 
ax = get(fig, "CurrentAxes"); 
disp(get(get(ax, "XLabel") "String"))