2013-07-18 97 views
3

我正在使用scale_colour_gradientlimits=參數並轉換爲對數比例。我希望刻度漸變在那些刻度中完全停止,並且讓刻度朝外而不是向內。這可能嗎?控制R中ggplot2的scale_colour_gradient中的刻度限制和方向?

例如:

ggplot(iris) + 
    geom_point(aes(x=Sepal.Width, y=Sepal.Length, colour=Sepal.Length)) + 
    scale_colour_gradient(limits=c(3,8), trans=log2_trans()) 

我想規模在3恰好開始(即示出了具有值沒有顏色小於3),並在8恰好結束(顯示沒有值高於8)和有蜱面向外(最好只在秤的右側,如this figure除非不水平)。限制很重要,因爲在實際數據中,有時您會根據截斷值剪切值,並且只想對該範圍內的點進行着色,所以令範圍條顯示範圍之外的顏色變得混亂(因爲點被選爲)

回答

3

我不知道有一個(內置)選項以您描述的方式更改顏色條滴答聲。但我認爲這擊中貴點休息:

ggplot(iris) + 
    geom_point(aes(x=Sepal.Width, y=Sepal.Length, colour=Sepal.Length)) + 
    scale_colour_gradient(limits=c(3,8), 
          breaks = round(seq(3,8,length.out = 4),1), 
          trans=log2_trans()) + 
    guides(colour = guide_colorbar(draw.ulim = FALSE,draw.llim = FALSE)) 

你可以去除蜱完全用ticks = FALSE。對於不同樣式的刻度標記,您可能必須破解網格代碼本身。

+0

'guides'就是這樣一個整齊的功能,謝謝 – user248237dfsf