2015-11-06 62 views
3

我想在標籤之間放置標籤,否則某些標籤會互相重疊。在xticks之間設置標籤

set(gca,'XTick',[66 98 134 215 266 330 334 388 414 443 ]); 
set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I','C','IT','M','U'}) 

enter image description here

可能有人請幫助我嗎?

+0

感謝您的編輯。 'C'與'I'重疊。 – user5254599

+0

你有沒有考慮擴大你的身材的大小? – rayryeng

回答

0
xTICKS = [66 98 134 215 266 330 334 388 414 443 ]; 
xTICKS = [0 xTICKS]; %// Add the 0 instance 
dxT = diff(xTICKS);%// get differences 
xT = xTICKS(1:end-1)+dxT/2; %// Make new tick locations midway the old 

這樣,您可以在舊實例中途創建tickmarks + tick標籤的位置。我不知道你是否能脫開兩個雖然,試試這個:

set(gca,'XTick',xT); 
set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I','C','IT','M','U'}) 

可以玩弄axes properties,尤其是在部分刻度值和標籤,但我看不到的方式解開勾號位置和相應的標籤。

+0

謝謝,但是這種方法也改變了滴答位置。 – user5254599

+0

@ user5254599是的,這正是我所說的*我看不到一種解耦方法,它是相應的標籤*意思,我不認爲有一種方法可以做到這一點,除了我所展示的。我會檢查是否可以繪製「兩個軸」,一個是標籤,沒有刻度,另一個是刻度和沒有標籤,但我沒有那麼高的期望。 – Adriaan

0

我經常遇到這個問題,但有一個非常簡單的解決方案...只需在前面用空格填充標籤!不一定都是這些......只是需要移動的那些。這是一個偉大的把戲,你需要在一個文本註釋稍加調整(像「箭頭」,「文本」等)

舉例任何時候:

set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I',' C','IT','M','U'}) 

編輯: 我意識到這並未不處理垂直刻度問題。爲Y軸,嘗試

set(gca,'YTickLabel',{'CD', 'CS', 'E' ,'F','H','I',['A' char(10) ' C'],'IT','M','U'}) 

注意,「A」和「C」在技術上相同的標籤的一部分,但它們似乎是兩個不同的標籤,因爲插入一個換行的(CHAR(10)) 。