Bien que je sache qu'il existe une série de fonctions pour générer des cartes thermiques dans R, le problème est que je ne peux pas produire de cartes visuellement attrayantes. Par exemple, les images ci-dessous sont de bons exemples de cartes thermiques que je veux éviter. Le premier manque clairement de détails, tandis que l'autre (basé sur les mêmes points) est trop détaillé pour être utile. Les deux tracés ont été générés par la fonction densité () dans le package spatstat R.
Comment puis-je obtenir plus de "flux" dans mes parcelles? Ce que je vise, c'est davantage l'aspect que les résultats du logiciel commercial SpatialKey ( capture d'écran ) sont capables de produire.
Des astuces, des algorithmes, des packages ou des lignes de code qui pourraient me conduire dans cette direction?
la source
Réponses:
Il y a deux choses qui auront un impact sur la fluidité du tracé, la bande passante utilisée pour votre estimation de densité de noyau et les coupures auxquelles vous affectez des couleurs dans le tracé.
D'après mon expérience, pour l'analyse exploratoire, j'ajuste simplement la bande passante jusqu'à ce que j'obtienne un tracé utile. Démonstration ci-dessous.
Changer simplement le jeu de couleurs par défaut n'aidera pas du tout, ni changera la résolution des pixels (si quoi que ce soit, la résolution par défaut est trop précise, et vous devriez réduire la résolution et agrandir les pixels). Bien que vous souhaitiez peut-être modifier le jeu de couleurs par défaut à des fins esthétiques, il est censé être très discriminant.
Les choses que vous pouvez faire pour aider la couleur sont de changer le niveau d'échelle en logarithmes (cela n'aidera vraiment que si vous avez un processus très inhomogène), modifiez la palette de couleurs pour varier davantage à l'extrémité inférieure (biais en termes de spécification de la rampe de couleur dans R), ou ajustez la légende pour avoir des bacs discrets au lieu de continus.
Exemples de biais dans la légende adaptée d' ici , et j'ai un autre post sur le site SIG expliquant la coloration des bacs discrets dans un exemple assez simple ici . Cela n'aidera pas si le motif est plus ou moins bien lissé pour commencer.
Pour rendre les couleurs transparentes dans la dernière image (où le premier bac de couleur est blanc), il suffit de générer la rampe de couleurs, puis de remplacer la spécification RVB par des couleurs transparentes. Exemple ci-dessous utilisant les mêmes données que ci-dessus.
la source
Vous pouvez bénéficier de la fonction interp du package akima. Cela vous permettra d'interpoler votre matrice vers une autre résolution si nécessaire. Pour créer quelque chose comme votre exemple lié, vous devez interpoler sur une grille assez fine (peut-être avec les arguments xo et yo d'une longueur de ~ 1000). Cela vous donnera une nouvelle matrice que vous pouvez tracer avec image (). Si vous voulez de la transparence, cela demandera un travail supplémentaire. Ce n'est pas facile de le faire avec une palette de couleurs, vous devrez donc finir par tracer chaque grille comme un polygone avec une couleur assignée.
la source
Vous voudrez peut-être examiner ggplot2. Il semble que le package que vous avez essayé n'ait pas de superbes couleurs ou "flux" - jetez un œil à RColorBrewer. Il y a un blog où il a implémenté ces packages avec un exemple simple.
Je ne sais pas si vous essayez de tracer des données géographiques comme indiqué dans votre exemple lié, mais si vous le savez, je sais que Google propose le "Guide du développeur Static Maps API V2" et vous pouvez combiner Google et R avec un package appelé, RgoogleMaps .
Bonne chance dans vos recherches.
la source
Avez-vous essayé d'augmenter la résolution
density
? Essayez l'argumentdimyx=c(512, 512)
ou plus.la source