2010-08-16 81 views
1

此柱狀圖是真的很醜:調節X軸直方圖

hist(rbinom(10000, 20000, 0.0001),freq=F,right=F) 

我不希望我的條之間的間隔。我嘗試了不同的breaks=方法,但它們都產生了類似的結果。有任何想法嗎?

我也希望每個bin值(或平均值)打印在中心的酒吧。

回答

6

這裏是居中標籤的方式:

x <- rbinom(1000, 2000, 0.001) 
tmp <- hist(x, breaks=0:(max(x)+1), xaxt="n", right=FALSE, freq=FALSE) 
axis(1, at=tmp$mids, labels=0:max(x)) 
+0

+1雖然'breaks = 0:(max(x)+1)'不夠通用(在某些情況下,你想分箱,而不是每個int都有一個條),但這很好,很簡單 – 2010-08-18 07:43:54

+0

這只是一個例子,它可以很容易地被適當的'seq'聲明所取代。 – rcs 2010-08-18 07:54:32

4

如果值是整數,只是要計數他們,怎麼樣

barplot(table(rbinom(10000, 20000, 0.0001))) 
+0

這是很好的一些情況,但有時你確實想要的值要合併在一起 – 2010-08-16 11:36:48

2

在這種情況下,我通常使用:

hist(rbinom(1000,2000,0.0001),breaks=function(x) length(unique(x))) 
+0

+1感謝,這解決了第一部分。有關如何使x標籤居中的任何建議? – 2010-08-16 11:36:14

+0

@David Try rcs的解決方案。 – mbq 2010-08-17 19:33:23

0

另外:

x <- rbinom(10000, 20000, 0.0001) 
hist(x, br = seq(-0.01, max(x)+1, 1), freq=F, col="black") 

(該col="black"是沒有必要的,當然,我只是覺得它在黑色更readeable!)