rm(list = ls())
################# ##############input data
dir_path <- "C:\\Users\\liyix\\OneDrive\\Desktop\\"
dir_path_name <- dir(dir_path,pattern = ".*csv",full.names = T)
dir_path_name
## [1] "C:\\Users\\liyix\\OneDrive\\Desktop\\data.csv"
data_1 <- read.csv(grep("data",dir_path_name,value = T),header = T,stringsAsFactors = F)
data_1
## number name
## 1 8265 A
## 2 3127 B
## 3 3127 C
## 4 8671 D
## 5 4448 E
data_4<- data_1
#############################################################
library(tidyverse)
## -- Attaching packages ------------------------------------------------------------------ tidyverse 1.3.0 --
## √ ggplot2 3.3.2 √ purrr 0.3.4
## √ tibble 3.0.3 √ dplyr 1.0.1
## √ tidyr 1.1.2 √ stringr 1.4.0
## √ readr 1.3.1 √ forcats 0.5.0
## -- Conflicts --------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:dplyr':
##
## as_data_frame, groups, union
## The following objects are masked from 'package:purrr':
##
## compose, simplify
## The following object is masked from 'package:tidyr':
##
## crossing
## The following object is masked from 'package:tibble':
##
## as_data_frame
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
#myAng <- seq(-20, -300, length.out = 5)
g <- ggplot(data_4, aes(x=name, y=number, fill=name))
g1 <- g + geom_bar(stat = "identity", position = "stack",
width = 0.9) +
#geom_text(aes(label=number), position=position_dodge(width=0.1), vjust= 0.25, angle = 0)+
#geom_text(aes(y = number+500,label = number),angle = myAng,family = "sans",size=3) +
coord_polar(start =1.3) +
scale_fill_manual(values=categorical_pal(5))
g1

bk_df <- data.frame(category = factor(rep(unique(data_4$name), 1)),
value_per = c(rep(0, 5), rep(9000, 5)))
p1 <- g1 + geom_col(data = bk_df,aes(x = category, y = value_per), width = 1, fill = "gray50",alpha = 0.1)+
scale_y_continuous(name="", limits=c(0, 9000),breaks = seq(0,9000,9000))+
labs(x = NULL, y = NULL) +
geom_hline(yintercept = 3000, colour = "white", size = 0.3,linetype = "solid")+
geom_hline(yintercept = 6000, colour = "white", size = 0.3,linetype = "solid")+
geom_hline(yintercept = 9000, colour = "white", size = 0.3,linetype = "solid")+
theme(legend.position = c(0.5,0.05), legend.direction = "horizontal",
legend.text = element_text(family = "sans",size=13),
legend.title = element_blank(),
axis.ticks = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
panel.grid.major.y = element_line(colour = "white", size = 0.1, linetype = "solid"),
panel.grid.major.x = element_line(colour = "white", size = 0.1, linetype = "solid"),
panel.grid.minor = element_line(colour = "white", size = 0.1, linetype = "solid"),
panel.background = element_rect(fill = NA))
p1

p3 <- p1 + annotate("text", x = data_4$name[2], y = seq(3000,9000,3000),
label = c("3000","6000","9000"),
size = 5,color = "black",family = "sans",angle = 0,
hjust=0.2,vjust=.3)
p3
library(grid)
gt <- ggplot_gtable(ggplot_build(p3))
gt$layout$clip[gt$layout$name=="panel"] <- "off"
grid.draw(gt)

ggsave(filename = paste0(Sys.Date(),"-pie_3.tif"), plot = gt,
device = "tiff", path = dir_path,
scale = 1, width = 18.5, height = 18, units = "cm",
dpi = 300, limitsize = TRUE, compression = "lzw")