Ho un areaplot accatastati realizzato con ggplot2:ggplot2: overlay linea gruppo di controllo sul pannello grafico set
dists.med.areaplot<-qplot(starttime,value,fill=dists,facets=~groupname,
geom='area',data=MDist.median, stat='identity') +
labs(y='median distances', x='time(s)', fill='Distance Types')+
opts(title=subt) +
scale_fill_brewer(type='seq') +
facet_wrap(~groupname, ncol=2) + grect #grect adds the grey/white vertical bars
Ecco come si presenta:
Voglio aggiungere un una sovrapposizione del profilo del grafico di controllo (in basso a destra) a tutti i grafici nell'output (groupname == rowH è il controllo).
Finora i miei sforzi hanno dato questo:
cline<-geom_line(aes(x=starttime,y=value),
data=subset(dists.med,groupname=='rowH'),colour='red')
dists.med.areaplot + cline
Ho bisogno le 3 linee rosse per essere 1 linea rossa che sfiora la parte superiore della sezione blu scuro. E ho bisogno di quella linea identica (la riga rowH) per sovrapporre ciascuno dei pannelli.
Il dataframe assomiglia a questo:
> str(MDist.median)
'data.frame': 2880 obs. of 6 variables:
$ groupname: Factor w/ 8 levels "rowA","rowB",..: 1 1 1 1 1 1 1 1 1 1 ...
$ fCycle : Factor w/ 6 levels "predark","Cycle 1",..: 1 1 1 1 1 1 1 1 1 1 ...
$ fPhase : Factor w/ 2 levels "Light","Dark": 2 2 2 2 2 2 2 2 2 2 ...
$ starttime: num 0.3 60 120 180 240 300 360 420 480 540 ...
$ dists : Factor w/ 3 levels "inadist","smldist",..: 1 1 1 1 1 1 1 1 1 1 ...
$ value : num 110 117 115 113 114 ...
La linea rossa deve essere calcolato come la somma del value
ad ogni starttime, dove groupname = 'rowH'. Ho provato a creare cline
i seguenti modi. Ogni risultato di un errore o di un'uscita errata:
#sums the entire y for all points and makes horizontal line
cline<-geom_line(aes(x=starttime,y=sum(value)),data=subset(dists.med,groupname=='rowH'),colour='red')
#using related dataset with pre-summed y's
> cline<-geom_line(aes(x=starttime,y=tot_dist),data=subset(t.med,groupname=='rowH'))
> dists.med.areaplot + cline
Error in eval(expr, envir, enclos) : object 'dists' not found
Pensieri?
ETA:
Sembra che il problema che stavo avendo con 'dists' not found
ha a che fare con il fatto che la trama iniziale, dists.med.areaplot
è stato creato tramite qplot. Per evitare questo problema, non riesco a costruire su un qplot. Questo è il codice per la trama di lavoro:
cline.data <- subset(
ddply(MDist.median, .(starttime, groupname), summarize, value = sum(value)),
groupname == "rowH")
cline<-geom_line(data=transform(cline.data,groupname=NULL), colour='red')
dists.med.areaplot<-ggplot(MDist.median, aes(starttime, value)) +
grect + nogrid +
geom_area(aes(fill=dists),stat='identity') +
facet_grid(~groupname)+ scale_fill_brewer(type='seq') +
facet_wrap(~groupname, ncol=2) +
cline
conseguente questo graphset:
Non credo che si desidera rimuovere la variabile 'groupname'. – hadley
Se si rimuove 'groupname', non lo farà quindi tracciare la linea su tutte le faccette? – JoFrhwld
Hmm, forse ho frainteso la domanda. – hadley