2011-08-09 12 views

Respuesta

14

Usando ggplot va a ir sobre él de la siguiente manera:

Configure los datos. No hay nada extraño aquí, pero claramente los valores debajo del eje serán negativos.

dat <- data.frame(
    group = rep(c("Above", "Below"), each=10), 
    x = rep(1:10, 2), 
    y = c(runif(10, 0, 1), runif(10, -1, 0)) 
) 

Terreno usando ggplot y geom_bar. Para evitar que geom_bar resuma los datos, especifique stat="identity". Del mismo modo, el apilamiento debe deshabilitarse especificando position="identity".

library(ggplot2) 
ggplot(dat, aes(x=x, y=y, fill=group)) + 
    geom_bar(stat="identity", position="identity") 

enter image description here

0

Esto se hace con ggplot2. Primero proporcione algunos datos y junte los dos y con la fusión.

library(ggplot2) 

dtfrm <- data.frame(x = 1:10, y1 = rnorm(10, 50, 10), y2 = -rnorm(10, 50, 10)) 
dtfrm.molten <- melt(dtfrm, id = "x") 

continuación, hacer que el gráfico

ggplot(dtfrm.molten, aes(x , value, fill = variable)) + 
    geom_bar(stat = "identity", position = "identity") 

perhpas otra persona puede proporcionar un ejemplo con base y/o de celosía.

HTH

9

Algunos ejemplos muy mínimos para los gráficos de base y lattice usando @ ejemplo datos de Andrie:

dat <- data.frame(
    group = rep(c("Above", "Below"), each=10), 
    x = rep(1:10, 2), 
    y = c(runif(10, 0, 1), runif(10, -1, 0)) 
) 

En los gráficos de base:

plot(c(0,12),range(dat$y),type = "n") 
barplot(height = dat$y[dat$group == 'Above'],add = TRUE,axes = FALSE) 
barplot(height = dat$y[dat$group == 'Below'],add = TRUE,axes = FALSE) 

bar_base

y en lattice:

barchart(y~x,data = dat, origin = 0, horizontal = FALSE) 

enter image description here

Cuestiones relacionadas