2016-05-15 55 views
3

我在MATLAB中的軸設置有問題。我希望在我的x軸和y軸上有更多的刻度,而不是MATLAB中的默認值。對於我用下面的函數如何在座標軸中使用滴答而不指定滴答的最後一個值?

ax = gca; 
ax.XTick = 0:0.5:max(xlim); 
ax.YTick = 0:0.5:max(ylim); 

問題是我的Y軸不爲0,但在-0.5開始。我知道我可以定義XLIM和YLim,但如果我嘗試下面的代碼:

ax.XLim = [0 inf] 
ax.YLim = [0 inf] 
ax = gca; 
ax.XTick = 0:0.5:max(xlim); 
ax.YTick = 0:0.5:max(ylim); 

我得到以下錯誤:

Maximum variable size allowed by the program is exceeded. 
Error in XXX 
ax.YTick = 0:0.5:max(ylim); 

我使用inf,因爲我不知道最後的值。我想要的是一個從0開始的座標軸和每0.5秒刻度的情節。

+0

嘗試'軸tight' – ThP

+0

我已經嘗試過軸緊。這個問題就是如果我的變量達到8.6的例子,那麼在8.5的時候會出現一個勾號,而圖表的終點是8.6。看起來很可怕。沒有緊張的情節結束於9那很好。只是起點不是0.我知道MATLAB自動執行,但如果我想手動執行,我會得到錯誤。 –

回答

1

如果我理解正確,您只需將軸限制設置爲從0開始,但不想更改上限。
你用下面的設置軸蜱:

ax.XTick = 0:0.5:max(xlim); 

然後你可以用類似的語句來設置限制:

ax.XLim = [0 max(xlim)]; 
+0

這是完美的。謝謝 –