J'utilise plotrix
en R
tracer une carte du niveau de l' État des États - Unis. Il a une excellente fonction floating.pie
pour mettre des graphiques à secteurs sur chaque état.
Je me demande s'il y a des fonctions similaires dans le plotrix
package pour afficher des graphiques à barres dans chaque état? (J'ai jeté un œil à la documentation et les fonctions qui traitent des graphiques à barres ne semblent pas avoir cette possibilité, mais je voulais juste en être sûr.) Je préfère travailler dans le package plotrix si possible, mais n'hésitez pas à nommer d'autres packages.
À titre d'exemple, je serais intéressé à produire une carte similaire à celle-ci (mais pour les États-Unis):
Pour ma carte des États-Unis, il y aurait 50 graphiques à barres, un pour chaque État.
J'ai obtenu cette carte sur /programming/20465070/barplots-on-a-map , mais il semble que ggsubplot ne fonctionne pas sur ma version de R (similaire à ce que d'autres ont dit sur le post ).
la source
ggsubplot
package, mais il est désormais obsolète et ne fonctionnera pas (comme vous l'avez mentionné). Peut-être que ce message peut être un point de départ: stackoverflow.com/questions/36063043/…Réponses:
Je sais que je suis vraiment en retard avec cela, mais je pense avoir trouvé une solution assez simple.
Si vous regardez le code source de
floating.pie()
(par exemple en appelantgetAnywhere(floating.pie)
), vous remarquerez qu'il utilise une approche très simple mais efficace: dessiner les segments de tarte sous forme de polygones. Si tout ce que vous voulez de vos graphiques à barres est les barres (pas d'étiquettes, d'axes, etc.), vous pouvez suivre la même approche et écrire votre propre fonction. Voici une version rapide et sale:x
est pour que les valeurs soient représentées par les barresxllc
etyllc
spécifiez la position du coin inférieur gauche de la barre de gauche dans le système de coordonnées que vous utilisezbarwidth
etmaxheight
sont utilisés pour mettre à l'échelle la taille des barresVoici une démo avec une
sp
intrigue basique . Je ne pense pas avoir déjà travaillé avecplotrix
, mais en fonction de la façon dont celafloating.pie
fonctionne, je suppose que cela devrait également fonctionnerplotrix
.Le résultat ressemble à ceci:
la source
mapbars
est définie dans le premier gros bloc de code, où est ditmapbars <- function (x, xllc = 0, ...
. Vous devrez d'abord exécuter cette section entière de code pour «enseigner» à R la nouvelle commande.ggplot2 et ggvis sont deux bibliothèques qui peuvent vous aider à afficher les tracés sur la carte. Dans ggplot2, vous pouvez tracer des bulles sur la carte, puis il vous suffit de donner à aes () les coordonnées qui n'ont rien à voir avec la taille et la couleur de la bulle. En ce qui concerne le graphique à barres, vous devez affecter au moins 2 paires de x et y, une pour l'emplacement du graphique à barres et l'autre pour la hauteur et la largeur du graphique à barres. En d'autres termes, vous devez connaître les coordonnées des 4 coins d'une barre.
la source