2016-01-10 1 views
3

J'aime vraiment l'idée d'un tracé de densité hexbin dans ggplot, et j'essaie de l'utiliser (au lieu d'une corbeille carrée produite par stat_bin2d) chaque fois que je le peux. Cependant, les limites des hexagones sont parfois évidentes. Par exemple,Comment se débarrasser des lignes de démarcation dans ggplot geom_hex

d < - ggplot (diamants, aes (carats, prix))

d + stat_binhex()

enter image description here

Dans cette image les limites de hexagones apparaissent aussi peu lignes blanches, ce qui interfère parfois avec ma tentative de concevoir les vraies variations de «densité» dans l'image.

Si je stat_bin2d, les lignes de limites ne sont pas représentés du tout:

d < - ggplot (diamants, aes (carats, prix))

d + stat_bin2d()

enter image description here

Mes questions sont les suivantes:

  1. Pourquoi les limites hexagonales sont affichées alors que les limites carrées ne le sont pas.

  2. Plus important encore, existe-t-il un moyen de faire stat_hexbin sans montrer les lignes de démarcation?

Merci beaucoup!

À côté: Je préfère faire un tracé de densité hexagone dans ggplot plutôt que d'utiliser un autre paquet principalement parce que j'aime la flexibilité d'ajouter d'autres couches plus tard.

+0

Solution possible: vous pouvez il suffit de changer la couleur du contour pour correspondre à la couleur des hexagones eux-mêmes, quelque chose comme 'stat_binhex (color = 'royalblue4')' – ytk

+0

Than ks Teja. Cela semble plausible, mais quand j'ai essayé la photo ne semble pas très satisfaisante ... –

Répondre

5

En utilisant le lien vers ggplot2 multiple stat_binhex() plots with different color gradients in one image comme référence, j'ai pu faire ce que vous demandez avec le code suivant:

d <- ggplot(diamonds, aes(carat, price)) 
d + stat_binhex(aes(colour = ..count..)) 

ou

d <- ggplot(diamonds, aes(carat, price, colour = ..count..)) 
d + stat_binhex() 

enter image description here

+1

Merci. Maintenant, je comprends dans stat_binhex (aes (color = ..., fill = ...)), les contrôles de couleur qui marquent la limite, les contrôles de remplissage colorant l'intérieur de chaque hexagone. Bien que je n'ai pas dit dans la question originale, dans mon vrai problème je voulais ajouter d'autres couches dans l'image, où j'ai besoin d'utiliser scale_color_manual pour fournir des couleurs pour quelques couleurs discrètes. Par exemple, en plus de la parcelle de densité bleu-ish, je veux tracer quelques points aberrants en rouge. Cela me pose un problème parce que je dois choisir une échelle de couleurs discrète ou continue dans une seule parcelle, mais pas les deux –

+0

sur "choisir une échelle de couleurs discrète ou continue dans une parcelle, mais pas les deux": http: // stackoverflow.com/questions/11508902/plotting-discrete-and-continuous-scales-in-same-ggplot –