Как изменить пропускную способность внутри ggplot? - PullRequest
4 голосов
/ 08 ноября 2011

Я делаю гистограмму с ggplot.

p <- ggplot(TotCalc, aes(x=x,y=100*(..count../sum(..count..)))) + 
    xlab(xlabel) + ylab(ylabel) +
    geom_histogram(colour = "darkblue", fill = "white", binwidth=500)

мой х составляет от 2 до 6580, и у меня 2600 данных.

Я хочу построить одну гистограмму с разными binwidth. Возможно ли это?

Например, я хочу иметь 8 баров с шириной, например:

c(180,100,110,160,200,250,1000,3000)

Как я могу это сделать?

Ответы [ 2 ]

15 голосов
/ 08 ноября 2011

как насчет использования перерывов?

x <- rnorm(100)
ggplot(NULL, aes(x)) + 
  geom_histogram(breaks = c(-5, -2, 0, 5), 
  position = "identity", colour = "black", fill = "white")

PS Пожалуйста, не пересекайте пост без явного уведомления.

enter image description here

2 голосов
/ 08 ноября 2011

Используйте breaks и position="dodge"

, например:

ggplot(mtcars,aes(x=hp))+geom_histogram(breaks=c(50,100,200,350),position="dodge")

Нет данных, но для вашего примера:

p <- ggplot(TotCalc, aes(x=x,y=100*(..count../sum(..count..)))) +
     xlab(xlabel) + ylab(ylabel) +
    geom_histogram(colour = "darkblue", fill = "white", breaks=cumsum(c(180,100,110,160,200,250,1000,3000)), position="dodge")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...