4

Im trying to plot reactome pathway in for of circular bar plot using ggplot2

my data

    dput(df2)
structure(list(ID = 1:10, Pathway_names = structure(c(5L, 1L, 
7L, 6L, 2L, 3L, 9L, 8L, 10L, 4L), .Label = c("Antigen Presentation: Folding assembly and peptide loading of class I MHC", 
"Antigen processing-Cross presentation", "Class I MHC mediated antigen processing & presentation", 
"Cytokine Signaling in Immune system", "Endosomal/Vacuolar pathway", 
"ER-Phagosome pathway", "Immunoregulatory interactions between a Lymphoid and a non-Lymphoid cell", 
"Interferon alpha/beta signaling", "Interferon gamma signaling", 
"Interferon Signaling"), class = "factor"), Entities_found = structure(c(1L, 
2L, 3L, 4L, 4L, 5L, 6L, 7L, 8L, 9L), .Label = c("51", "54", "55", 
"57", "75", "77", "96", "117", "176"), class = "factor"), Entities_pValue = c(1.11e-16, 
1.11e-16, 0.003908431, 2.54e-12, 2.77e-10, 0.0053068, 1.64e-13, 
1.11e-16, 1.11e-16, 3.68e-06)), row.names = c(NA, -10L), class = "data.frame")

my code

ggplot(df2, aes(x = factor(Pathway_names), y = Entities_found)) + ######################################
  geom_bar(aes(fill = Entities_pValue), stat = "identity", position = "stack") + 
  #scale_fill_manual(values = c(blank = "white", dark = "black")) + 
  coord_polar() + 
  theme_minimal() + 
  guides(fill = FALSE)

my output

So far im not sure how to include both p value and entities in the plot so that the pathway that are coming up can be labeled accordingly

New figure updated figure

benn
  • 3,571
  • 9
  • 28
kcm
  • 1,804
  • 12
  • 27
  • I don't understand the issue. It looks fine to me. – fridaymeetssunday Dec 11 '18 at 07:18
  • 1
    What do you mean by entities: the third column of your df2? You already have the height for the entities and the color for the p-value. How is this plot not what you expected? – llrs Dec 11 '18 at 08:57
  • yes i tried different ways but this is what i end up with ,but can you suggest me a way to color it so that it can distinguish p value it color scale_manual ? – kcm Dec 11 '18 at 09:39
  • @krushnachChandra Sorry I don't understand your question from the comments. You want to distinguish the p-value with the colors? Or do you want to set a manual scale of colors? If the question is the former, you can try to apply log10 to the variable to better distinguish the values. If the later case, I don't understand what is your problem with scale_manual – llrs Dec 11 '18 at 15:20
  • 1
    Can I suggest using acronyms for the entity names in the figure? Like ERPP for ER-Phagosome pathway? This way the text can be placed next to its barplot component and be readable. – conchoecia Dec 11 '18 at 17:49
  • okay let me try that – kcm Dec 12 '18 at 06:19

1 Answers1

3

The adjustcolor function from grDevices can be used to generate colours with transparency. What you want is colours based on the pathway and transparency to form a colour gradient for the p-value.

adjustcolor( "red", alpha.f = 0.2)

For the ggplot example, the aes function has an alpha parameter.

ggplot(df2, aes(x = factor(Pathway_names), y = Entities_found), alpha = Entities_pValue) + ######################################
geom_bar(aes(fill = Entities_found, alpha = Entities_pValue), stat = "identity", position = "stack") +  
coord_polar() + 
theme_minimal() + 
 guides(fill = FALSE)
Tom Kelly
  • 873
  • 7
  • 20