Customize Bar plot in R -GGplot2- in 5 steps : Beautiful publication ready bar plot
HTML-код
- Опубликовано: 15 июл 2024
- #barplot #errorbars #ggplot2 #Rprogramming
#R #datavisualisation #Rprogramming #ggplot #datanalysis #barplotcustomisation
This video discuss customisation of barplot in ggplot2 R. Reordering of categories, adding error bars, plot titles, themes and color palletes have been discussed.
library(tidyverse) # for summarizing the data to get means and sds of categories
library(ggsci) # for color palettes of scieintifc journals
library(ggpubr) # for theme pubr
iris_plot = gather(iris,FlPrt,Length,1:4)
iris_plot= group_by(iris_plot, Species,FlPrt)
iris_plot=summarise(iris_plot,mnL=mean(Length),sdL=sd(Length))
iris_plot= ggplot(iris_plot,aes(reorder(Species,mnL),mnL,fill=reorder(FlPrt,mnL)))+
geom_bar(stat="identity",position="dodge")+
geom_text(mapping=aes(label=mnL),position=position_dodge(width=0.9),
cex=2.5,vjust=-4)+
labs(title="Iris: Measurment of floral organs",
subtitle="Length abd width of srpal abd petal",
x="Species",y="Length ib cm",
caption="Data: iris dataset by Edgar Anderson",fill="Description")+
geom_errorbar(mapping=aes(ymin=mnL-sdL,ymax=mnL+sdL),
width=0.2,position=position_dodge(width=0.9))+
theme_classic()+scale_fill_jco()
0:00 Introduction
0:49 Install and load required packages
1:34 Prepare data
2:34 initiate ggplot
3:36 Reorder categories of bars
4:56 Add value labels to bars
6:02 titles of plot elements
7:05 Add error bars
8:39 add theme to plot
10:16 Add color palettes
11:20 concluding remarks
Really easy to digest. Thank you so much
Thank you, sir, for steering me in the right direction with many of these topics. Your videos are clear and have been very helpful. Thank you so much.
Glad you liked it. Thanks. Please keep watching my channel and recommend it to others.
struggled for a long time trying to make my bar plots, this helped me a lot ! subscribed !
Glad that it helped. Do watch my other videos.
Thanks to you sir. I will have a beautiful bar plots! Regards from México
So nice of you. These comments make my day.
Thanks a lot, very informative tutorial. This Really helps!
Thanks for appreciation. Do share with your friends.
Thank you, Sir
Thank you for your informative video!
Glad it was helpful!
Thanks a lot! It really helps me!
Thanks for good words.
Thank you
explained really well !! Thank you sir
Thanks for appreciation
Elegant presentation
Thanks very much. Please watchy other videos also.
Very helpful!!!
Thanks for good words. Keep watching my videos
Thanku! u saved my day!
Thanks a lot for appreciation.
👍😊
Respected Sir, I want to let you know that how much I am thankful for your videos and really appreciate your efforts for teaching us. Thank you so much sir. May god bless you with good health and success !
Thanks for appreciation. This will motivate me to work more.
@@DevResearch Sir, I am having a problem. The error bars are generated slightly inside the bars and not at the edge. How can I fix this? And, also I am not able to reorder the bars, its not working for me. I'm using your shortcut method for bar graphs.
Share your code to rajuchoure@gmail.com, with data. I will look at the code and will correct it
Dear Sir, your tutorial helped me lot within 11 minutes. I am a very beginner in r studio, just shifted from excel to R for preparing graphs. It will be nice if you make a video or any recommendation regarding my two problems. 1. I want to show the plant height increment within 6 months time period at different treatment groups. It will be a group bar plot. How will I create a group bar plot of my own data like customized data that you showed in the tutorial? 2. which theme provides the barplot that has separated x-axis and y-axis , not joint like the theme_classic() ? Thanks
If i do not use stat identity here, how can I add count on the bar plot by using geom text? could you please explain it?
you can use stat="bin" to get counts. you need to convert the variable of which counts are being plotted to factor. Like this. Then in geom text use stat= "count" and label = ..count.. in aes.
# Don't map a variable to y
ggplot(mtcars, aes(x=factor(cyl)))+
geom_bar(stat="count", width=0.7, fill="steelblue")+
theme_minimal()+
geom_text(stat='count', aes(label=..count..), vjust=-1)
Professor, can you demonstrate how to perform a “distance based Redundancy data analysis (db RDA)” in R ?
Will try.
Yes, Professor. Please help us providing a video related to db RDA. It’s really worthy in my case. Thank you!
I tried this. But my groups are of different lengths, and the bars of different groups are of different widths. Is there a way to fix that?
I am not able to imagine the data. If possible, send me data, I will try and share code with you.
Sir please help me .... after clicking geom_text coding portion it is showing -
Error in 'fortify()':
'data' must be a , or an object coercible by 'fortify()' not an s3 object with class /.
Share few rows of your data and your script. I will try the plot.
@@DevResearch Sir I have not done anything.... used your script written above.... Still it is showing
I have replicated your other bar graphs scripts those ones working properly in my device
Hi, Which color pallete(theme) is suitable for color blind audience?
Thanks for this question. I really didn't understood gravity of this situation.
Package viridis claims in their introduction that
"Use the color scales in this package to make plots that are pretty, better represent your data, easier to read by those with colorblindness, and print well in gray scale."
cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html.
Hope this solves the issue. As I currently don't have any color blind person to verify this claim.
Hi which color pallete can I use for color blind people?
scale_fill_viridis() will help here. viridsis color pallettes are for color blind friendly. And sincere apologies for replying late.
suppose you got sales data.
you got items sold, their quantity and value
if I were in excel I would make a bar plot for the value, i.e. sales value, and volume/quantity of items sold as line chart combined with the previous but the latter would use a secondary axis
now, I know such a thing is possible by mapping different data to different geoms but I am facing an issue visualising the quantity on a line chart
any ideas?
x-axis would have categorical labels and the other numeric
I will share code by tommorrow morning.
@@DevResearch thank you so much for this. in excel I used to plot value in bar/column chart with a combo line chart for the number of projects per category which goes on a secondary axis
# I could get this hack
year
@@DevResearch thank u for this; i will try it; possible to do it in ggplot2?
thank u for this; how would you do the same idea in ggplot2 with labels for values??? I need to show the quantity of items sold and volume of sales for each product
sir my x-axise is getting arrange alphabetically not according to the csv fill
You have to define x variable as factor with defined levels, in the order you want those to be.
@@DevResearch ggplot(Growth, aes(x = factor(Treatments, level = c('Control', 'Ni50', 'Ni100', 'BCT', 'Ni50 + BCT', 'Ni100 + BCT')), y = mean)) + geom_col()
I'm using this code but this is giving me a error
Error in ggplot(Growth, aes(x = factor(Treatments, level = c("Control", :
object 'Growth.csv' not found
could u please help me were I'm wrong
Can i have to email or phone number i want want to discuss something more
I shall be really gratefully to sir your lectures and coding helped me a lot but still there are some confusion which i want to clear
@@asmodesustudi0 rajuchoure@gmail.com