Nouveauté en programmation et en première publication. J'essaye de créer un diagramme de bulle empilé pour montrer comment une population se décompose dans ses proportions. Mon but est d'écrire ceci en tant que fonction pour que je puisse l'utiliser facilement de façon répétée, mais j'ai besoin de trier la viande du code avant de la mettre en fonction.Diagramme à bulles empilées, "aligné en bas"
C'est le type de tracé que je voudrais:
Ceci est le code que je l'ai essayé jusqu'à présent:
library(ggplot2)
# some data
observations = c(850, 500, 200, 50)
plot_data = data.frame(
"x" = rep.int(1,length(observations))
,"y" = rep.int(1,length(observations))
, "size" = rep.int(1,length(observations))
,"colour" = c(1:length(observations))
)
# convert to percentage for relative sizes
for (i in 1:length(observations))
{
plot_data$size[i] = (observations[i]/max(observations))*100
}
ggplot(plot_data,aes(x = x, y = y)) +
geom_point(aes(size = size, color = colour)) +
scale_size_identity() +
scale_y_continuous (limits = c(0.5, 1.5)) +
theme(legend.position = "none")
Cela produit une image de type Bullseye. Mon approche a consisté à essayer de calculer comment les rayons circulaires sont calculés, puis à mettre à jour la valeur y dans la boucle for pour chaque entrée de sorte que tous les cercles touchent à la base - c'est là que j'ai échoué .
Donc, ma question: Comment puis-je savoir ce que les coordonnées y pour chaque cercle doit être?
Nous vous remercions de votre aide et de vos conseils.
est une exigence ggplo2? c'est assez facile avec 'plotrix :: draw.circle' – hrbrmstr
Dupe possible de http://stackoverflow.com/questions/24738172/bubble-chart-in-r – Henrik
Également pertinent: http://stackoverflow.com/questions/ 14826815/comment-à-bulle-graphique-aligné-bas-et-coller-à-l'autre – Henrik