Graphique à bulles avec ggplot2

Je veux imprimer un graphique en bulles dans R. Le problème que j'ai rencontré est que les deux, mon x et mon axe y sont discrètes. En théorie, cela signifie beaucoup de points de données (des bulles), se retrouver sur la même coordonnée. Je préfère les avoir dispersés à travers le point de données, mais toujours dans un quadrant qui met en évidence la bulle appartient à l'coordonnées x/y.

Je pense que c'est mieux illustré par un petit exemple. Le code suivant doit mettre en évidence le problème:

# Example
require(ggplot2)
zz <- textConnection("Row PowerSource ProductSegment Price Model ManufacturingLocation Quantity
1 High SegmentA Low ModA LocationA 5000
2 Low SegmentB Low ModB LocationB 25000
3 High SegmentC Low ModC LocationC 15000
4 Low SegmentD High ModD LocationD 30000
5 High SegmentE High ModE LocationA 2500
6 Low SegmentA Low ModF LocationB 110000
7 High SegmentB Low ModG LocationC 20000
8 Low SegmentC Low ModH LocationD 3500
9 High SegmentD Low ModI LocationA 65500
10 Low SegmentE Low ModJ LocationB 145000
11 High SegmentA Low ModK LocationC 15000
12 Low SegmentB Low ModL LocationD 5000
13 High SegmentC Low ModM LocationA 26000
14 Low SegmentD Low ModN LocationB 14000
15 High SegmentE Mid ModO LocationC 75000
16 Low SegmentA High ModP LocationD 33000
17 High SegmentB Low ModQ LocationA 14000
18 Low SegmentC Mid ModR LocationB 33000
19 High SegmentD High ModS LocationC 95000
20 Low SegmentE Low ModT LocationD 4000
 ")
df2 <- read.table(zz, header= TRUE)
close(zz)
df2


ggplot(df2, aes(x = ManufacturingLocation, y = PowerSource, label = Model)) +
    geom_point(aes(size = Quantity, colour = Price)) + 
    geom_text(hjust = 1, size = 2) +
    scale_size(range = c(1,15)) +
    theme_bw()

Comment puis-je disperser les bulles un peu pour montrer les différents produits dans chacune des catégories et de leur quantité?

(Toutes mes excuses, je ne peux pas ajouter une image à l'instant à cause de trop peu de réputation)

Graphique à bulles avec ggplot2

Re votre dernière remarque: ajoutez un lien vers l'image dans le post, quelqu'un avec assez de rep sera susceptible de la remplacer par l'image réelle.
Peut-être que vous pouvez vous pouvez utiliser geom_jitter(...) au lieu de geom_point et peut-être également utiliser le paramètre alpha pour ajouter de la transparence en raison du chevauchement.

OriginalL'auteur Roman | 2014-11-05