2011-05-10 39 views
19

Estoy tratando de generar una barra de barras con anchos de barra determinados por una variable entera (tamaño de muestra). Agregar "width = variableName" no parece funcionar. ¿Hay una forma establecida de hacer esto? Aquí hay algunos datos y códigos falsos. Quiero que el ancho de la barra sea una función de la variable d en este ejemplo.Barras de ancho variable en barra de barras ggplot2 en R

dat <- data.frame(a=c("A", "B", "C"), b=c(0.71, 0.94, 0.85), d=c(32, 99, 18)) 

ggplot(dat, aes(x=a, y=b, fill=a)) + 
geom_bar(colour="black", size=.3) + 
theme_bw() 

Respuesta

28

Cómo sobre el uso width= después de cambiar la escala de su d vector, dicen en una cantidad constante?

ggplot(dat, aes(x=a, y=b, width=d/100)) + 
    geom_bar(aes(fill=a), stat="identity", position="identity") 

enter image description here

+0

@chi: eso es genial, muchas gracias. Ya había intentado este enfoque, pero sin los argumentos 'stat' y 'position' no afectaba el ancho de la barra. – Steve

+0

¿Es posible agregar el ancho de las barras en la leyenda? – fstevens

+0

¡GRACIAS! Me faltaba el argumento de posición :) –

Cuestiones relacionadas