How to change scientific notation on legend labels

2020-03-02 07:09发布

问题:

I wrote this code to create a map.

ggplot(data = Canada2015_Import_3) +
  borders(database = "world", 
          colour = "grey60",
          fill="grey90") + 
  geom_polygon(aes(x=long, y=lat, group = group, fill = Trade_Value_mean),
               color = "grey60") +
  scale_fill_gradient(low = "blue", high = "red", name = "Trade Value") + 
  ggtitle("Canadien Imports in 2015") + 
  xlab("") + ylab("") + 
  theme(panel.background = element_blank(),
        plot.title = element_text(face = "bold"),
        axis.title.x=element_blank(),
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank(),
        axis.title.y=element_blank(),
        axis.text.y=element_blank(),
        axis.ticks.y=element_blank())

This map gives me a legend with scientific notation, and I would like to change it to normal or with commas.

Does anybody know how to do that?

Here is the basic structure of my data frame.

Country   Trade_Value_mean  long      lat     group order subregion
Afghanistan    2359461     74.89131 37.23164     2    12      <NA>

All help is appreciated.

回答1:

I figured it out. Basically all you have to do is insert the scales library and add labels = comma. Here's the modified code :

library(scales) 

ggplot(data = Canada2015_Import_3) +
  borders(database = "world", 
          colour = "grey60",
          fill="grey90") + 
  geom_polygon(aes(x=long, y=lat, group = group, fill = Trade_Value_mean),
               color = "grey60") +
  scale_fill_gradient(low = "blue", high = "red", name = "Trade Value", labels = comma) + 
  ggtitle("Canadien Imports in 2015") + 
  xlab("") + ylab("") + 
  theme(panel.background = element_blank(),
        plot.title = element_text(face = "bold"),
        axis.title.x=element_blank(),
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank(),
        axis.title.y=element_blank(),
        axis.text.y=element_blank(),
        axis.ticks.y=element_blank())


回答2:

you can also use at the beginning of your code:

options(scipen=10000)


标签: r ggplot2