P_aza
P_aza

Reputation: 147

Make multiple smoothed lines more visible in relation to confidence interval fills using ggplot geom_smooth

I'm making a graph of the expression of multiple genes among multiple subjects, displaying the data points and smoothed conditional means with the respective confidence intervals, but the points and lines are obscured by the fill of the confidence intervals. Is there a way to put the points and lines back on the first plane or make the confidence interval fill lighter, to make the points and lines more visible?

data1

library(forcats)
library(ggplot2)
library(tidyr)

tbl_long <- data1 %>% 
  gather(gene, expression, -X)

tbl_long %>%
  ggplot(aes(x = fct_inorder(X), y = expression, color = gene, group = gene)) + 
  geom_point() + 
  geom_smooth(aes(fill=gene)) + 
  theme_classic()

graph

I`m a begginer R user, so any help would be much appreciated

Upvotes: 1

Views: 3256

Answers (1)

the-mad-statter
the-mad-statter

Reputation: 8686

library(dplyr)
library(forcats)
library(ggplot2)
library(readr)
library(tidyr)

"X,ALDOA,ALDOC,GPI,GAPDHS,LDHA,PGK1,PKLR
 C1,-0.643185598,-0.645053078,-0.087097464,-0.343085671,-0.770712771,0.004189881,0.088937264
 C2,-0.167424935,-0.414607255,0.049551335,-0.405339423,-0.182211808,-0.127414498,-0.313125427
 C3,-0.81858642,-0.938110755,-1.141371324,-0.212165875,-0.582733509,-0.299505078,-0.417053296
 C4,-0.83403929,-0.36359332,-0.731276681,-1.173581357,-0.42953985,-0.14434282,-0.861271021
 C5,-0.689384044,-0.833311409,-0.622961915,-1.13983245,0.479864518,-0.353765462,-0.787467172
 C6,-0.465153207,-0.740128773,-0.05430084,0.499455778,-0.692945684,-0.215067456,-0.460695935
 S2,0.099525323,0.327565645,-0.315537278,0.065457821,0.78394394,0.189251447,0.11684847
 S3,0.33216583,0.190001824,0.749459725,0.224739679,-0.138610536,-0.420150288,0.919318891
 S4,0.522281547,0.278411886,1.715325626,0.534957031,1.130054777,-0.129296273,1.803756399
 S5,0.691225088,0.665540011,1.661124529,0.662320212,0.267803229,0.853683613,1.105808889 
 S6,1.269616976,1.86390714,2.069219749,1.312324149,1.498836807,1.794147633,0.842335285
 S7,1.254166133,1.819075004,0.44893804,0.438435159,0.482694339,0.446939822,0.802671992
 S8,0.751743085,0.702057721,0.657752337,1.668582798,-0.186354601,1.214976683,0.287904556
 S9,0.091028475,-0.214746307,0.037471169,-0.90747123,-0.172209571,0.062382102,0.136354703
 S10,1.5792826,1.736452158,0.194961866,0.706323594,1.396245579,0.208168636,0.883114282
 R2,-0.36289097,-0.252649755,0.026497148,-0.026676693,-0.720750516,-0.087657548,0.390400605
 R3,0.106992251,0.290831853,-0.815393104,-0.020562949,-0.579128953,-0.222087138,0.603723294
 R4,0.208230649,0.533552023,-0.116632671,1.126588341,-0.09646495,0.157577458,-0.402493353
 R5,-0.10781116,0.436174594,-0.969979695,-1.298192703,0.541570124,-0.07591813,-0.704663307
 R6,-0.282867322,-0.960902616,0.184185506,-1.215118472,0.856165556,-0.256458847,-1.528611038
 R7,-0.300331377,-0.918484952,0.191947526,-0.895049036,1.200294702,0.7120941,-0.047383224
 R8,0.278804568,-0.07335879,0.300083636,0.37631121,-0.288228181,0.427576413,0.631281194
 R9,0.393632652,0.228379711,-0.201269856,1.731887958,0.141541807,0.242716283,0.154875397
 R10,0.731821818,0.058779515,-0.310899832,0.578285435,-0.474621274,0.126920851,0.017104493" %>%
  read_csv() -> tbl_wide

tbl_long <- tbl_wide %>% 
  gather(gene, expression, -X)

tbl_long %>% 
  ggplot(aes(x = fct_inorder(X), y = expression, color = gene, fill = gene, group = gene)) + 
  geom_smooth(method = "loess", alpha = 0.1) + 
  geom_point() + 
  labs(x = "Location", 
       y = "Expression", 
       color = "Gene", 
       fill = "Gene") + 
theme_classic()

plot output

Upvotes: 2

Related Questions