4
$\begingroup$

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

$\endgroup$
6
  • $\begingroup$ I don't understand the issue. It looks fine to me. $\endgroup$ Commented Dec 11, 2018 at 7:18
  • 1
    $\begingroup$ 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? $\endgroup$
    – llrs
    Commented Dec 11, 2018 at 8:57
  • $\begingroup$ 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 ? $\endgroup$
    – kcm
    Commented Dec 11, 2018 at 9:39
  • $\begingroup$ @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 $\endgroup$
    – llrs
    Commented Dec 11, 2018 at 15:20
  • 1
    $\begingroup$ 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. $\endgroup$
    – conchoecia
    Commented Dec 11, 2018 at 17:49

1 Answer 1

3
$\begingroup$

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)
$\endgroup$
4
  • $\begingroup$ it looks fine now may be i can tweak it a bit more i will see but i see my Entities_found are still 150 but highest one is 176 why am not getting till 176? $\endgroup$
    – kcm
    Commented Dec 12, 2018 at 6:23
  • $\begingroup$ i have a doubt the p value gradient still looks confusing ...can you help me regarding that $\endgroup$
    – kcm
    Commented Dec 13, 2018 at 7:01
  • 1
    $\begingroup$ Try plotting them on a log-scale? $\endgroup$ Commented Dec 13, 2018 at 7:39
  • $\begingroup$ no i haven;t given that thought may be that would help $\endgroup$
    – kcm
    Commented Dec 13, 2018 at 9:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.