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
colnames(data_1)
## [1] "number" "name"
data_2 <- data_1[,c(1,2)]
data_4 <- data_2
##################################
data_3_1 <- data_4
str(data_3_1)
## 'data.frame': 5 obs. of 2 variables:
## $ number: int 8265 3127 3127 8671 4448
## $ name : chr "A" "B" "C" "D" ...
data_3_1$alpha <- "plate_1"
data_3_2 <- data_4
data_3_2$alpha <- "plate_2"
data_5 <- rbind(data_3_1,data_3_2)
data_5 <- data_5[order(data_5$name),]
unique(data_5$name)
## [1] "A" "B" "C" "D" "E"
data_5$name <- factor(data_5$name)
data_5$alpha <- factor(data_5$alpha)
#range01(s)
library(ggplot2)
data_5
## number name alpha
## 1 8265 A plate_1
## 6 8265 A plate_2
## 2 3127 B plate_1
## 7 3127 B plate_2
## 3 3127 C plate_1
## 8 3127 C plate_2
## 4 8671 D plate_1
## 9 8671 D plate_2
## 5 4448 E plate_1
## 10 4448 E plate_2
bk_df <- data.frame(name = factor(rep(unique(data_4$name), 1)),
value_per = c(rep(0, 5), rep(9000, 5)))
p1 <- ggplot(data_5, aes(x = name, y = number,fill = alpha,alpha=alpha)) +
geom_col(data = bk_df,aes(x = name, y = value_per), width = 1, fill = "grey10",alpha = 0.1)+
geom_polygon(size = 0.1, alpha= 0.2,aes(group = alpha),fill = "deepskyblue2") + ggtitle("") +
coord_polar(clip = "on") +
scale_y_continuous(name="", limits=c(0, 9000),breaks = seq(0,9000,3000)) +
geom_hline(yintercept = 3000, colour = "white", size = 0.3,linetype = "solid")+
geom_hline(yintercept = 5000, colour = "white", size = 0.3,linetype = "solid")+
geom_hline(yintercept = 9000, colour = "white", size = 0.3,linetype = "solid")+
geom_vline(xintercept = seq(0, 5, by = 1), colour = "white", size = 0.3,linetype = "solid")
p1

#scale_alpha_manual(values = c("plate_1"=0, "plate_2"=0), guide='none') +
#scale_color_manual(values = c("red", "red")) +
#scale_fill_manual(values = c("black", "Blue"))
#############################plot_2
p2 <- p1 + labs(x = NULL, y = NULL) +
theme(legend.position = "bottom", legend.direction = "horizontal",
legend.text = element_text(family = "sans",size=12),
legend.title = element_blank(),
axis.ticks = element_blank(),
axis.text.x = element_text(family = "sans",size=12),
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))
p2

##########################annotate__1
p2 + annotate("text", x = data_4$name, y = data_4$number,
label = data_4$number,
#label = formatC(data_4$number, format = "e", digits = 2),
size = 2.5,color = "black",family = "serif",angle = 0)

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

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