Matlab은 작은 눈금과 눈금을 제어하지 않습니다. 당신은 그들의 가시성을 켜거나 끌 수 있습니다. (이미 당신이 이미 겪었던 한계로) 그러나 그 값/위치/수 등을 설정할 수는 없습니다 ...
그 길은 모든 눈금과 눈금을 완전히 끄는 것입니다. 축 (pcolor
플롯이있는)을 선택한 다음 정의한 그리드 속성을 사용하여 그 위에 투명한 빈 axes
을 만듭니다.
이 빈 axes
에 플롯 또는 다른 그래픽 개체가 없으므로 Matlab은 설정 한 속성과 관련하여 훨씬 더 효율적으로 작동합니다 (스마트하지 않고 백그라운드에서 일부 항목 변경). 일부 속성은 단순히 기본 axes
에서 복사하고, 다른이 (YMinorTick
및 YMinorGrid
등)을 명시 적으로 설정되어 있는지
가
[x,y] = meshgrid(logspace(-1,1,10),logspace(0,7,10));
pcolor(x,y,x.*y); shading interp;
colormap(flipud(gray(64))) %// just so the grid lines are more visible
axbot = gca ; %// retrieve the handle of the current axis
set(axbot, 'XScale', 'log', 'YScale', 'log');
axis off %// remove all ticks/grid etc...
%// now create the "overlay" axes, which replicate some of the properties of the underlying axis (position/limits etc ...)
axtop = axes('Position',get(axbot,'Position'),'Color','none',...
'Xlim',get(axbot,'XLim'), 'Ylim',get(axbot,'YLim'),...
'XScale', 'log', 'YScale', 'log' , ...
'YMinorTick','on' , 'YMinorGrid','off') ;
참고 :
그래서 귀하의 경우에, 이러한 라인을 따라 뭔가 될 것입니다.
이 의지 플롯 :
당신은 Y 작은 그리드뿐만 아니라 보여 단지 on
에 YMinorGrid
을 변경하려면 .
오른쪽에 Y 틱 표시가 필요하면 똑같은 작업을 반복하면됩니다 (거의). 다른 축을 추가하십시오. 이번에는 XAxisLocation
을 Top
및 YAxisLocation
을 right
으로 지정하십시오.
axtopright = axes('Position',get(axbot,'Position'),'Color','none',...
'Xlim',get(axbot,'XLim'), 'Ylim',get(axbot,'YLim'),...
'XScale', 'log', 'YScale', 'log' , ...
'YMinorTick','on' , 'YMinorGrid','off' , ...
'XAxisLocation', 'Top','YAxisLocation','right') ;
호키. 한 가지 질문 : 그래프의 네 측면 모두에 눈금을 매길 수 있습니까? – Doubt
@Doubt, 대답을 편집했습니다. 편집 참조) – Hoki