J'ai un histogramme ci-dessous, et j'ai ajouté 2 graphiques de densité. Il correspond aux 2 classes qui composent les données. Je souhaite ajouter un 2ème axe y sur la droite, mais ayant la même hauteur que le premier axe y, de sorte que la hauteur des tracés de densité ne semble pas si petite. Les hauteurs relatives des 2 parcelles de densité doivent directement comparables, de sorte que leur superficie totale est de 1Comment ajouter un 2ème axe Y pour un graphe de densité superposé à un histogramme dans R?
Répondre
z <- rnorm(100,.3,.2)
hist(z, xlab="", ylab="", main="", yaxt="n")
par(new=TRUE)
plot(density(z), xlab="", ylab="", main="", xaxt="n", yaxt="n")
axis(2, ...) # plug in the relevant values for `at` and `labels`
axis(4, ...) # plug in the relevant values for `at` and `labels`
Merci pour votre réponse! Y a-t-il un moyen pour moi de rendre directement comparables les hauteurs relatives des parcelles de densité? Rappelez-vous que j'ai 2 graphiques de densité ici pour les 2 classes de données qui composent l'histogramme. De même, comment puis-je connaître les valeurs de densité, c'est-à-dire, quelle devrait être la valeur du 2ème axe des y? – Cheng
Vous pouvez faire quelque chose comme 'max (densité (z) $ y)' pour obtenir une limite supérieure pour chaque densité, puis spécifier les axes en conséquence. Pour deux densités, vous devez évidemment le faire séparément pour chacune et répéter simplement le bit 'plot (densité (z), ...)' pour la deuxième densité. – Thomas
Si vous utilisez ggplot2
vous pouvez utiliser geom_density(aes(y=..scaled..))
et geom_histogram(aes(y = ..ndensity))
à l'échelle de la même
par exemple
x <- rnorm(400, 10, 5)
y <- rnorm(400, -10, 5)
dd <- rbind(data.frame(value = x, id = 'x'), data.frame(value = y, id = 'y'))
ggplot(dd, aes(x=value)) +
geom_histogram(aes(y=..ndensity..)) +
geom_density(aes(colour = id, y = ..scaled..))
Merci pour votre réponse! J'ai fait une erreur dans ma question initiale. La superficie totale des parcelles à 2 densités devrait être égale à 1, de sorte qu'elles soient directement comparables. Puisque l'histogramme montre l'ensemble des données, mais les graphiques à 2 densités montrent les données pour 1 classe, leur hauteur devrait probablement être plus petite aussi. Dans votre parcelle, je vois seulement 1 axe. Je veux un 2ème axe y sur la droite montrant la densité. – Cheng
- 1. Axe négatif dans un graphe logarithmique
- 2. Stratifier un graphe de densité par différents groupes en utilisant ggplot2 dans R
- 3. Comment boucler un graphe ggplot dans r
- 4. Comment tracer un tel graphe dans R?
- 5. Ajouter une légende au diagramme de densité dans R
- 6. tracé d'un graphe linéaire sur un graphe de comptage avec un axe y séparé sur le côté droit
- 7. ajouter la légende dans un histogramme
- 8. Comment créer un graphe "Clustergram"? (En R)
- 9. un axe y d'un plotyy
- 10. R: Tracé de densité par rapport à Densité dans ggplot2
- 11. Comment ajouter plusieurs graphe dans un plan x-y dans wpf en utilisant DynamicDataDisplay
- 12. Superposition d'un axe Y dans un axe multiyre 0chart
- 13. Comment forcer un axe y à la plage minimum et maximum dans R?
- 14. Essayer d'ajuster un graphe dans R
- 15. Comment trace-t-on un histogramme 3D empilé dans R?
- 16. Avec matplotlib, comment créer un histogramme 2D avec projection polaire et un axe symlog?
- 17. Comment tracer un graphe de classification d'un SVM dans R
- 18. Définir R parcelles x axe pour montrer à y = 0
- 19. Histogramme parcelles en R
- 20. Comment trouver le% d'une valeur sur un axe Y d'un graphe LOG?
- 21. Histogramme de tracé et courbe de densité sur une carte
- 22. comment faire un graphe avec axe dynamique x, y en utilisant la balise canvas html5
- 23. Histogramme de superposition avec courbe de densité
- 24. Bin le plus fréquent dans un histogramme ggplot2 en R
- 25. Comment faire un histogramme en rbokeh?
- 26. Comment ajouter un schéma dans un site Wordpress pour un graphe de connaissances Google?
- 27. Génération « 2D » histogramme en R
- 28. Diagramme mixte avec histogramme et tracé linéaire superposé dans la même figure
- 29. Comment normaliser un histogramme
- 30. Tracer un histogramme sans valeurs nulles dans R
Diminution de la valeur pour aucun code et pas de données. –
Vous pouvez utiliser 'doubleYScale' à partir du paquet 'latticeExtra'. Voir ce [link] (http://latticeextra.r-forge.r-project.org/#doubleYScale&theme=default) pour plus d'informations. – fdetsch