暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言绘图|ggplot2坐标轴轴显示百分比形式

1114
点击关注了解更多哦

本文主要展示在ggplot2在绘图中,如何将坐标轴的小数点形式改为百分比形式,如下图所示。更多内容可关注微信公众号**【日常分享的小懒猫】**

1、数据准备

1.1加载package

library(tidyverse)
library(gapminder)
head(gapminder)
#  country     continent  year lifeExp      pop gdpPercap
#1 Afghanistan Asia       1952    28.8  8425333      779.
#2 Afghanistan Asia       1957    30.3  9240934      821.
#3 Afghanistan Asia       1962    32.0 10267083      853.
#4 Afghanistan Asia       1967    34.0 11537966      836.
#5 Afghanistan Asia       1972    36.1 13079460      740.
#6 Afghanistan Asia       1977    38.4 14880372      786.

1.2计算百分比

使用gapminder数据集,计算欧洲地区国家平均GDP及其占比。

gapminder_df <- gapminder %>% filter(continent  == "Europe") %>% group_by(country) %>% 
  summarise(gdp_value = mean(gdpPercap)) %>% 
  mutate(gdp_prop = gdp_value/sum(gdp_value)) %>% arrange(-gdp_prop)

sum(gapminder_df$gdp_prop)
#[1] 1
gapminder_df
#   country        gdp_value gdp_prop
# 1 Switzerland       27074.   0.0624
# 2 Norway            26747.   0.0616
# 3 Netherlands       21749.   0.0501
# 4 Denmark           21672.   0.0499
# 5 Germany           20557.   0.0474
# 6 Iceland           20531.   0.0473
# 7 Austria           20412.   0.0470
# 8 Sweden            19943.   0.0459
# 9 Belgium           19901.   0.0458
#10 United Kingdom    19380.   0.0446

2、图形绘制

2.1小数点形式

ggplot(gapminder_df, aes(gdp_prop, reorder(country, gdp_prop))) + 
  geom_col(width = 0.6, fill = "lightblue", color = "black") + 
  theme_bw(base_size = 15) + 
  labs(x = "gdp_prop", y = "country") + 
  scale_x_continuous(breaks = seq(0, 0.07 ,0.01)) + 
  theme(panel.grid.major.x = element_blank())

2.2将x轴改为百分比形式

利用scales包中的percent_format() 函数。

ggplot(gapminder_df, aes(gdp_prop, reorder(country, gdp_prop))) + 
  geom_col(width = 0.6, fill = "lightblue", color = "black") + 
  theme_bw(base_size = 15) + 
  labs(x = "gdp_prop", y = "country") + 
  scale_x_continuous(breaks = seq(0, 0.07 ,0.01), labels = scales::percent_format()) + 
  theme(panel.grid.major.x = element_blank())

3、其他

其他绘图方法可进一步阅读公众号【日常分享的小懒猫】 上的文章,欢迎关注转发分享。


如有帮助请多多点赞哦!


文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论