J'ai commencé à utiliser le package ggplot 2 il y a quelques jours et bloque aujourd'hui sur la légende d'un graphique.
Je cherche à obtenir un graphique comme celui là :
Je pense être sur la bonne voie, mais n'arrive pas à organiser la légende sous forme de classes (exemple : [0 ; 1000[).
Code : Tout sélectionner
read.table("bio.txt", header = TRUE) -> bio
library(ggplot2)
library(scales)
library(tidyr)
library(dplyr)
library(hrbrthemes)
bio=gather(bio,"Station","Biomass",2:6)
t=as.vector(bio[1:25,1]) #Ordonne les dates
u=as.vector(c("M","E2","E1","F2","F1")) #Ordonne les stations
bio$class<-case_when(
bio$Biomass > -1 & bio$Biomass < 1000 ~ "[0 ; 10e+3[",
bio$Biomass > 1000 & bio$Biomass < 10000 ~ "[10e+3 ; 10e+4[",
bio$Biomass > 10000 & bio$Biomass < 100000 ~ "[10e+4 ; 10e+5[",
bio$Biomass > 100000 & bio$Biomass < 1000000 ~ "[10e+5 ; 10e+6[",
bio$Biomass > 1000000 ~ "[10e+6 ; 3.10e+6[" )
ggplot(bio, aes(x = Date, y =Station)) +
geom_count(aes(size = Biomass,fill=class))+
scale_size_area(max_size = 10) + scale_x_discrete(limits=t)+ scale_y_discrete(limits=u) +
theme(axis.text.x = element_text(angle=90))
Ca donne ça :
Mais pas moyen d'avoir ma légende comme je veux, surtout que les classes proposées automatiquement ne sont pas du tout représentatives de la répartition des données.
Pour information je travaille sur un nombre de cellules / mL prélevées sur différents sites à différentes dates.
Si besoin je peux fournir je jeu de données.
Au passage, si quelqu'un sait comment colorier les points en fonction des ordonnées, comme sur le graphique en exemple, je suis preneur.
Merci d'avance !
Emilien