在我的geom_histogram栏之间添加空格 - 而不是barplot

时间:2017-07-03 15:30:43

标签: r ggplot2

让我们说我想制作直方图

所以我使用以下代码

v100<-c(runif(100))

v100
library(ggplot2)
private_plot<-ggplot()+aes(v100)+geom_histogram(binwidth = (0.1),boundary=0
)+scale_x_continuous(breaks=seq(0,1,0.1), lim=c(0,1))
private_plot

plot

如何将我的色谱柱分开,以使整个物体更令人赏心悦目?

我试过了,但它不知何故不起作用:

Adding space between bars in ggplot2

由于

5 个答案:

答案 0 :(得分:3)

您可以使用col参数设置直方图条的线条颜色,使用fill参数设置填充颜色。这并不是真正在条形之间增加空间,但它使它们在视觉上不同。

library(ggplot2)
set.seed(9876)
v100<-c(runif(100))

### use "col="grey" to set the line color
ggplot() +
  aes(v100) +
  geom_histogram(binwidth = 0.1, fill="black", col="grey") +
  scale_x_continuous(breaks = seq(0,1,0.1), lim = c(0,1))

产生此图表:

enter image description here

请告诉我这是否是你想要的。

答案 1 :(得分:0)

只需使用diffcolor选项来区分垃圾箱的主体和边框:

fill

enter image description here

答案 2 :(得分:0)

例如,如果您想增加 space 为了表明值是离散的,要做的一件事是将直方图绘制为条形图。在这种情况下,您必须自己汇总数据,并使用geom_col()代替geom_histogram()。如果要进一步增加空间,可以使用width参数。

library(tidyverse)
lambda <- 1:6

pois_bar <- 
    map(lambda, ~rpois(1e5, .x)) %>% 
    set_names(lambda) %>% 
    as_tibble() %>% 
    gather(lambda, value, convert = TRUE) %>% 
    count(lambda, value)

pois_bar %>% 
    ggplot() +
    aes(x = value, y = n) +
    geom_col(width = .5) +
    facet_wrap(~lambda, scales = "free", labeller = "label_both")

enter image description here

答案 3 :(得分:0)

如果要在整数范围内创建“直方图”,则可以使用:

ggplot(data) + geom_bar(aes(x = value, y = ..count..))

答案 4 :(得分:0)

我刚刚遇到了这个问题。我的解决方案是在分隔我的垃圾箱的点处添加垂直线。我使用“theme_classic”并使用白色背景。我将垃圾箱设置为在 10、20、30 等处中断。所以我只添加了 9 条垂直线:

geom_vline(xintercept=10, linetype="solid", color = "white", size=2)+
geom_vline(xintercept=20, linetype="solid", color = "white", size=2)+
etc

一个愚蠢的黑客,但它有效。