Let’s create a simple dataset and draw a bar graph with this data
Genotype=c("A","B","C","D","E")
Responsiveness=c(0.10,0.417,0.217,0.105,0.045)
dataA=data.frame(Genotype,Responsiveness)
print(dataA)
Genotype Responsiveness
1 A 0.100
2 B 0.417
3 C 0.217
4 D 0.105
5 E 0.045
library(ggplot2)
ggplot(data=dataA, aes(x=Genotype, y=as.numeric(Responsiveness), fill=Genotype))+
geom_bar(stat="identity",position="dodge", width=0.7, size=1) +
scale_fill_manual(values=c("grey25","grey35","grey45",
"grey55","grey65")) +
scale_y_continuous(breaks = seq(0,0.5,0.1), limits = c(0,0.5)) +
labs(x="Genotype", y="Responsiveness") +
theme_grey(base_size=17, base_family="serif")+
theme(legend.position='none',
axis.line=element_line(size=0.5, colour="black")) +
windows(width=5.5, height=5)


The values on the y-axis are in decimal points. I would like to display them as percentages. So, I will insert the code labels=scales::percent inside the scale_y_continuous() function. The complete code is as follows:
library(ggplot2)
ggplot(data=dataA, aes(x=Genotype, y=as.numeric(Responsiveness), fill=Genotype))+
geom_bar(stat="identity",position="dodge", width=0.7, size=1) +
scale_fill_manual(values=c("grey25","grey35","grey45",
"grey55","grey65")) +
scale_y_continuous(breaks = seq(0,0.5,0.1), limits = c(0,0.5),
labels=scales::percent) + #add labels=scales::percent
labs(x="Genotype", y="Responsiveness") +
theme_grey(base_size=17, base_family="serif")+
theme(legend.position='none',
axis.line=element_line(size=0.5, colour="black")) +
windows(width=5.5, height=5)

The values on the y-axis have changed to percentages.

We aim to develop open-source code for agronomy ([email protected])
© 2022 – 2025 https://agronomy4future.com – All Rights Reserved.
Last Updated: 03/31/2022