Remove decimals y axis ggplot2

Use percent_format from the scales package to set accuracy to 1.

library(ggplot2)
library(scales)

ggplot(df_Filtered, aes(x = Product, y = Relative_Value, fill = Product)) +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  geom_bar(stat = "identity") +
  theme_bw() +
  theme(plot.background = element_rect(colour = "black", size = 1)) +
  theme(legend.position = "none") +
  theme(plot.title = element_text(hjust = 0.5)) +
labs(x ="Product", y = "Percentage of total sell", title = "Japan 2010") +
  theme(panel.grid.major = element_blank()) 

enter image description here

DATA

df_Filtered <- read.table(text = "Product Relative_Value
Car     0.12651458
                 Plane   0.08888552
                 Tank    0.03546231
                 Bike    0.06711630
                 Train   0.06382191",
                 header = TRUE, stringsAsFactors = FALSE)

scales::percent_format(accuracy = 2) doesn't allow manual breaks = c(0, 0.5, .10). So, I have to create the manual function scale_y_continuous(breaks = c(0, 0.5, .10), labels = function(x) paste0(round(as.numeric(x*100)), "%")) .

Tags:

R

Ggplot2