2012-08-15 103 views
2

找不到這在谷歌搜索,所以我想我會在這裏記錄它。R ggplot2軸的變化單位

我的問題是我需要改變我的y軸標籤個基點,而不是標準的單位,但我無法找到一個方法來解決這個簡單的問題,我有我的情節是這樣的:

p <- ggplot(plotdat, aes(x = name, y = value, fill = variable)) + 
     geom_bar(position = "dodge") 

但我一直試圖使用這一行,但我不斷收到錯誤。

p + scale_y_continuous(labels = function(x) as.character(x*10000), breaks = 10) 
Error in as.vector(x, "character") : 
    cannot coerce type 'closure' to vector of type 'character' 

如何更改我的y軸刻度標籤的格式?

+0

[ggplot2 axis transformation by constant factor]可能出現重複(http://stackoverflow.com/questions/4646020/ggplot2-axis-transformation-by-constant-factor) – daroczig 2012-08-16 10:24:49

回答

2

要格式化軸刻度標籤,請使用scale_continuous中的formatter選項。所以:

p = p + scale_y_continuous(formatter = function(x) format(x*10000)) 

這應該給你基準點。

+1

您的回答(和問題)可能會更有幫助例如使用最小和可重現的數據集。 – smillig 2012-08-15 18:23:06

+1

'scale_ *'在當前版本的ggplot中似乎沒有'formatter'參數,並且此代碼導致錯誤。將其更改爲'labels = function ...'的作品。 – 2015-01-24 14:31:15