Labels' Titel sind nicht in einem richtigen Abstand von einem ggplot Heatmap angezeigt

stimmen
0

Ich habe folgende Daten-Set:

gene_symbol<-c(DADA,SDAASD,SADDSD,SDADD,ASDAD,XCVXCVX,EQWESDA,DASDADS,SDASDASD,DADADASD,sdaadfd,DFSD,SADADDAD,SADDADADA,DADSADSASDWQ,SDADASDAD,ASD,DSADD)
panel<-c(growth,growth,growth,growth,big,big,big,small,small,small,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDA<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDb<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf1<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf2<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf3<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf4<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf5<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDA1<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDb1<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf1<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf11<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf21<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf31<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf41<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
ASDDAf51<-c(normal,over,low,over,normal,over,low,over,normal,over,DF,DF,DF,DF,DF,DF,DF,DF)
Gene_states22<-data.frame(gene_symbol,panel,ASDDA,ASDDb,ASDDAf,ASDDAf1,ASDDAf2,ASDDAf3,ASDDAf4,ASDDAf5,ASDDA1,ASDDb1,ASDDAf1,ASDDAf11,ASDDAf21,ASDDAf31,ASDDAf41,ASDDAf51)

Und ich eine ggplot2 Heatmap mit:

library(plotly)
library(ggplot2); library(reshape2)
g <- melt(Gene_states22, id.vars = c(gene_symbol,panel))
p1<-ggplot(g, aes(gene_symbol,variable))   geom_tile(aes(fill = value),
                                                     colour = grey50)   scale_fill_manual(values=c(white, red, blue,black,yellow,green,brown)) 
  facet_grid(~panel,switch = x) 
  labs(title = Heatmap,x = gene_symbol,y=sample,fill=value) 
  theme(title = element_text(family = sans serif, 
                             size = 14, 
                             face = bold), 
        axis.title = element_text(family = sans serif, 
                                  size = 16, 
                                  face = bold, 
                                  color = black), 
        axis.text = element_text(family = sans serif, 
                                 size = 11),
        axis.title.y = element_text(margin = margin(t = 0, r = 5, b = 0, l = 5)),
        panel.background = element_rect(fill = NA),
        panel.grid.major = element_line(colour = grey50),
        panel.spacing = unit(0, lines),
        strip.placement = outside)
p1

Dann konvertiere ich es mit plotly:

ggplotly(p1)%>%
  layout( autosize = F, width = 1350, height = 600,hoverlabel = list(bgcolor = white,
                                                                     font = list(family = sans serif, 
                                                                                 size = 9, 
                                                                                 color = black)))

Mein Problem ist , dass ich nicht die Entfernung des Titels und der y-Achse Titels richtig die Graphen bilden anpassen können. Ich mag der Titel ein wenig vom praph getrennt werden und nicht stecken zu bleiben und der y-Achse Titel ein wenig näher zu sein , um korrekt angezeigt zu werden. Ich benutze axis.title.y = element_text(margin = margin(t = 0, r = 5, b = 0, l = 5))aber ohne Unterschied

Veröffentlicht am 15/06/2018 um 13:56
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Haben Sie versucht , in die mit Margin layoutCall plotly? Es würde davon abhängen , welche Seite der Heatmap Ihre Etiketten sind, aber es wäre so etwas wie dieses:

gplotly(p1)%>%
  layout(autosize = F, width = 1350, height = 600, 
  hoverlabel = list(bgcolor = "white", 
                    font = list(family = "sans serif",  size = 9, color = "black")), 
  margin = list(r=100))

Plotly Webseite hat weitere Informationen über die Verwendung von marginArgumente.

Beantwortet am 15/06/2018 um 22:42
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more