# How to plot p-values in a circular barplot?

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)


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

• I don't understand the issue. It looks fine to me. Dec 11 '18 at 7:18
• 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 8: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 9: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
• 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. Dec 11 '18 at 17:49

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)

• 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?
– kcm
Dec 12 '18 at 6:23
• i have a doubt the p value gradient still looks confusing ...can you help me regarding that
– kcm
Dec 13 '18 at 7:01
• Try plotting them on a log-scale? Dec 13 '18 at 7:39
• no i haven;t given that thought may be that would help
– kcm
Dec 13 '18 at 9:08