2013-02-12 111 views
1

我得到一噸的小數位數爲我在y軸值當我使用這樣的命令ggplot東西:我似乎無法圓值與ggplot

x <- c(39.029998779296875000, 39.080001831054687500, 38.990001678466796875, 39.000000000000000000, 38.990001678466796875) 
example <- data.frame(i=1:5, X=x) 
ggplot(example, aes(i, y=foo, color=variable)) + geom_line(aes(y=X, color='X')) 

什麼是此時,相應的告訴ggplot將值調整爲沒有那麼多小數位的方法?

下面是這個命令我的輸出:

This image is the output!

這裏是sessionInfo()輸出 - 這裏沒有什麼看起來可疑對我說:

> sessionInfo() 
R version 2.15.0 (2012-03-30) 
Platform: x86_64-unknown-linux-gnu (64-bit) 

locale: 
[1] C 

attached base packages: 
[1] grid  grDevices graphics stats  datasets utils  methods base 

other attached packages: 
[1] ggplot2_0.9.0 

loaded via a namespace (and not attached): 
[1] MASS_7.3-17  RColorBrewer_1.0-5 colorspace_1.1-1 dichromat_1.2-4 digest_0.5.2  memoise_0.1  munsell_0.3  plyr_1.7.1  \ 

[9] proto_0.3-9.2  reshape2_1.2.1  scales_0.2.0  stringr_0.6  tools_2.15.0 
+3

碼。不。重複的。 – joran 2013-02-12 23:24:14

+0

不是第一次(甚至第二次)這個提問者被建議提出可重複問題。 – 2013-02-12 23:26:10

+0

編輯爲只有可重現的代碼 – 2013-02-12 23:30:03

回答

3

我覺得這是一個問題,您的digits選項。我可以重現如果我設置options(digits=22),而不是使用7出廠默認值,這與該數據小數點後只給出2位:

print(x,digits=7) 
[1] 39.03 39.08 38.99 39.00 38.99 

所以,儘量用還原它:

options(digits=7) 
+0

不錯的猜測。允許我重現問題。 – 2013-02-13 02:04:30

+1

在之前對@PalaceChen的編輯聲稱設置'options(digits = 3)'沒有解決問題,但我強烈懷疑他們可能只是被混淆了,並認爲他們重置它時,實際上他們沒有'噸。 – joran 2013-02-13 03:04:34

+0

這是正確的!我很驚訝。我的.Rprofile有選項(數字= 19),即使在R會話中我稱爲選項(數字= 3)或選項(數字= 5),它似乎沒有改變它。我很好奇爲什麼這個覆蓋不會發生,一旦我打開R會議?我必須在.Rprofile中才能使用它 – 2013-02-13 06:22:32