knitr::opts_chunk$set(echo = TRUE)
读取数据
#读取数据
library(readxl)
data <- read_xlsx("生活型.xlsx",1)
#输出数据包
library(do)
#作图分析包
library(dplyr)
library(gplots)
library(ggplot2)
library(ggthemes)
#颜色包
library(RColorBrewer)
饼图ggplot
#在文件中处理占比-舍去
per_data <- data %>% mutate(在地面积占比 = scales::percent(data$`在地面积(亩)` / sum(data$`在地面积(亩)`)))
per_data1<- per_data %>% mutate(种类数占比 = scales::percent(per_data$`种类数` / sum(per_data$`种类数`)))
#查看数据
knitr::kable(per_data1)
#制作占比
label_value <- paste('(',scales::percent(per_data$`种类数` / sum(per_data$`种类数`)), '%)', sep = '')
label <- paste(per_data1$生活型, label_value, sep = '')
#作图
ggplot(per_data1,mapping = aes(x="",y=per_data1$种类数,fill=生活型))+
geom_bar(stat = "identity",position = "stack",width = 1)+
coord_polar(theta = "y")+ #饼图
labs(x = '', y ='', title = '')+ #清除标签
theme_minimal()+ #清楚标题
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
panel.border = element_blank(),
panel.grid=element_blank(),
axis.ticks = element_blank(),
plot.title=element_text(size=25, face="bold"))+ #标题大小
scale_fill_discrete(labels = label)+
ggtitle("不同生活型的种类数占比")+#添加标题
theme(legend.key.size = unit(1.2, "cm"))+ #修改图例大小
theme(plot.title = element_text(hjust = 0.5,vjust = 0.1))+ #修改标题位置
scale_fill_discrete(labels = label)+
scale_fill_manual(values= brewer.pal(5,"Set3"))#改配色,必须在最后边
饼图pie
# 加载R包,没有安装请先安装 install.packages("包名")
library(graphics)
library(readxl)
# 读取饼图图数据文件
data <- read_xlsx("生活型.xlsx",1)
#保证扇形排列顺序,降序排列
data <- data[order(data$种类数, decreasing = TRUE),]
# 设置标签,直接计算占比,保留原始表格数据
#label_value <- paste('(',scales::percent(data$`种类数` / sum(data$`种类数`)), ')', sep = '')
#label <- paste(per_data1$生活型, label_value, sep = '')
label <- data$生活型
# 绘图
pie(data$种类数,
labels=label,
init.angle=90, # 设置初始角度
edges = 1000, # 越大越圆
col = terrain.colors(length(data$种类数)) , # 设置颜色 topo.colors/cm.colors/heat.colors/rainbow
border="white", # 边框颜色
cex = 0.8,# 字体大小
main = "不同生活型的种类数占比",#标题
# radius = 0.9,#半径大小
cex.main=2)
重庆市药材的饼图
# 加载R包,没有安装请先安装 install.packages("包名")
library(graphics)
library(readxl)
# 读取饼图图数据文件
data1 <- read_xlsx("重庆1.xlsx",1)
data2 <- read_xlsx("重庆2.xlsx",1)
#保证扇形排列顺序,降序排列
data1 <- data1[order(data1$面积, decreasing = TRUE),]
data2 <- data2[order(data2$面积, decreasing = TRUE),]
# 设置标签,直接计算占比,保留原始表格数据
#label_value <- paste('(',scales::percent(data$`种类数` / sum(data$`种类数`)), ')', sep = '')
#label <- paste(per_data1$生活型, label_value, sep = '')
label1 <- data1$类别
label2 <- data2$类别
# 绘图
pie(data1$面积,
labels=label1,
init.angle=90, # 设置初始角度
edges = 1000, # 越大越圆
col = terrain.colors(length(data$种类数)) , # 设置颜色 topo.colors/cm.colors/heat.colors/rainbow
border="white", # 边框颜色
cex = 0.8,# 字体大小
main = "重庆市药材种植占比",#标题
radius = 1,#半径大小
cex.main=2)
pie(data2$面积,
labels=label2,
init.angle=90, # 设置初始角度
edges = 1000, # 越大越圆
col = terrain.colors(length(data$种类数)) , # 设置颜色 topo.colors/cm.colors/heat.colors/rainbow
border="white", # 边框颜色
cex = 0.8,# 字体大小
main = "重庆市药材种植占比",#标题
radius = 1,#半径大小
cex.main=2)