2012-10-17 39 views
0

在格子圖形中,我使用scales=list(alternating=3)將x軸刻度和標籤放在每個繪圖框上。是否有一個參數會左右移動標籤(或者上/下)?例如,我的x軸標籤是時間步數。當最後一個(最右邊的)標籤超過3個字符(例如「1500」)時,最右邊的字符會延伸到下一個繪圖框,除非我在框之間添加了很多空間(我寧願避免)。我使用刻度的'at'參數在刻度之間保留了很多空間,因此有空間可以向左移動「1500」,例如,將最後的「0」放在刻度線上。在格子圖形中左/右移位標籤?

+0

這就是默認格子圖使用交替比例的原因之一。我的竅門是手動指定xlim到2990左右。 –

回答

0

或者只需旋轉標尺scale = list(交替= 3,rot = 30)或任何角度適合。 Didier

1

Dieter和Didier的解決方案非常出色。謝謝。我做了進一步的調查,並提出了第三種解決方案。我意識到,萊迪思大致是試圖將刻度標籤置於刻度線上方/下方。此外,如果你給它一個字符串作爲刻度標籤,它會像字面意思那樣使用字符串。所以如果你在字符串的末尾加空格,會將文字移動到左邊:

# create some data 
df <- rbind(data.frame(x=1:1500, y=rnorm(1500), class="left"), 
     data.frame(x=1:1500, y=rnorm(1500), class="right")) 

xyplot(y ~ x | class, data=df, 
     scales=list(at=c(1,seq(500,1500,by=500)),    # I choose ticks explicitly 
        x=list(labels=c(1,500,1000,"1500  ")))) # spaces push "1500" left