Pergunta

Dada a seguinte tabela ggplot2:

ggplot(my_data, aes(colour=my_factor) +   
                geom_point(aes(x=prior, y=current)) +   
                facet_grid(gender ~ age)

Gostaria de fazer o tamanho dos pontos de ser proporcional à contagem de my_factor para essa combinação prévia / atual.

ggplot(my_data, aes(colour=my_factor, 
                size=<something-here>(my_factor)) +   
                geom_point(aes(x=prior, y=current)) + 
                facet_grid(gender ~ age)

Todas as idéias?

== Editar ==

Aqui está um exemplo muito trivial baseado em conjunto de dados mpg. Vamos definir "great_hwy" como hwy> 35, e "great_cty" como cty> 25:

mpg$great_hwy[mpg$hwy > 35]  <-1
mpg$great_hwy[mpg$hwy <= 35] <-0
mpg$great_hwy <- factor(mpg$great_hwy)

mpg$great_cty[mpg$cty > 25]  <- 1
mpg$great_cty[mpg$cty <= 25] <- 0
mpg$great_cty <- factor(mpg$great_cty)

Se marcamos great_cty vs. great_hwy, não vai nos dizer muito:

ggplot(mpg) + geom_point(aes(x=great_cty, y=great_hwy))

Como eu poderia fazer os pontos de dados maior em tamanho dependendo do número de x / y pontos? Espero que isso limpa-lo, mas deixe-me saber o contrário.

Foi útil?

Solução

Você pode certamente fazer isso contando externo para ggplot, mas uma das grandes coisas sobre ggplot é que você pode fazer muitas dessas estatísticas internamente!

Usando o seu exemplo mpg acima:

ggplot(mpg) + 
  geom_point(aes(x=great_cty, y=great_hwy, 
                 size=..count..), stat="bin")

text alt

Outras dicas

Porque a resposta aceita usa um recurso substituído vou salientar esta resposta alternativo que funciona para ggplot2 1.0.1

ggplot2 visualizando as contagens de pontos plotados em cima uns dos outros:? stat_bin2d ou geom_tile ou tamanho do ponto

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top