#!/usr/bin/env Rscript ######################################################### # TASK: function for basic barplot returning stability counts ######################################################### # load libraries and functions library(ggplot2) theme_set(theme_grey()) #========================================================== # stability_count_bp(): basic barplots for stability counts # input args ## df containing data to plot ## df column name containing stability outcome ## legend title ## ...opt args #========================================================== stability_count_bp <- function(plotdf , df_colname , leg_title = "Legend title" , axis_text_size = 25 , axis_label_size = 22 , leg_text_size = 20 , leg_title_size = 22 , yaxis_title = "Number of nsSNPs" , bp_plot_title = "" , label_categories = c("Destabilising", "Stabilising") , title_colour = "chocolate4" , subtitle_text = NULL , subtitle_size = 20 , subtitle_colour = "pink" #, leg_position = c(0.73,0.8) # within plot area , leg_position = "top"){ OutPlot_count = ggplot(plotdf, aes(x = eval(parse(text = df_colname)))) + geom_bar(aes(fill = eval(parse(text = df_colname))), show.legend = TRUE) + geom_label(stat = "count" , aes(label = ..count..) , color = "black" , show.legend = FALSE , size = 10) + theme(axis.text.x = element_blank() , axis.title.x = element_blank() , axis.title.y = element_text(size = axis_label_size) , axis.text.y = element_text(size = axis_text_size) , legend.position = leg_position , legend.text = element_text(size = leg_text_size) , legend.title = element_text(size = leg_title_size) , plot.title = element_text(size = axis_label_size , colour = title_colour) , plot.subtitle = element_text(size = subtitle_size , hjust = 0.5 , colour = subtitle_colour)) + labs(title = bp_plot_title , subtitle = subtitle_text , y = yaxis_title) + scale_fill_discrete(name = leg_title #, labels = c("Destabilising", "Stabilising") , labels = label_categories) return(OutPlot_count) } ############################################################# # end of function #############################################################