#####ggplot/GGally - Parallel Coordinates - y-axis labels
rm(list = ls())
library(ggplot2)
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## v purrr 0.3.4
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
###############################input data
dir_path <- "C:\\Users\\liyix\\OneDrive\\Desktop\\"
dir_path_name <- list.files(pattern = "data_1.*xlsx",dir_path,full.names = T, recursive = F)
#dir_path_name
library(openxlsx)
getSheetNames(grep("data_1.xlsx",dir_path_name, value = T))
## [1] "Sheet1" "Sheet2"
data_1 <- read.xlsx(grep("data_1.xlsx",dir_path_name, value = T), sheet = 1,startRow = 1)
data_1
## Input Molecular_Fingerprints Machine_Learning
## 1 Active ToxPrint NB
## 2 Inactive ECFP4 NNET
## 3 <NA> <NA> SVM
## 4 <NA> <NA> RF
data_1$num <- 1:nrow(data_1)
data_2 <- gather(data_1, key = key , value = value, -num)
data_2 <- na.omit(data_2)
data_list <- list()
for (i in 1:length(unique(data_2$key))) {
data_3 <- data_2[data_2$key == unique(data_2$key)[i], ]
data_3$label <- sort(as.numeric(scale(1:nrow(data_3),scale = F)),decreasing = T)
data_list[[i]] <- data_3
print(dim(data_3))
}
## [1] 2 4
## [1] 2 4
## [1] 4 4
data_4 <- do.call("rbind", data_list)
data_4$num <- NULL
#head(data_4,3)
#####################################################
data_0 <- data_1
data_0$num <- NULL
data_5 <- expand.grid(data_0)
data_5[] <- lapply(data_5, as.character)
#View(data_2)
#dim(data_5) #[1] 15625 6
#head(data_5)
data_5 <-na.omit(data_5)
#dim(data_5) #[1] 1920 6
data_5$group <- 1:nrow(data_5)
#head(data_5)
#str(data_5)
data_6 <- gather(data_5, key = key , value = value, -group)
#View(data_6)
#View(data_5)
#install.packages("GGally")
#create a sample dataset
#head(data_6)
#dim(data_6) #[1] 11520 3
data_7 <- merge(data_6, data_4, by = c("key", "value"))
#dim(data_7) #[1] 11520 4
#head(data_7)
#str(data_7$label)
data_7$label <- as.numeric(data_7$label)
#unique(data_7$key)
data_7$key <- gsub("_", " ", data_7$key)
data_7$key <- gsub("\\.", " ", data_7$key)
data_7$key <- factor(data_7$key, levels = unique(data_7$key)[c(1,3,2)])
#head(data_7)
#######################################################plot
#head(data_7)
library(RColorBrewer)
p1 <- ggplot(data_7, aes(key, label, group=group, colour=key, fill=key)) +
geom_line(size=0.6) +
geom_point(size = 5, shape=21, alpha = 0.5) +
geom_text(aes(label = value), color = "black")+
scale_colour_manual(name = "Country",
values = brewer.pal(n = 8, name = "Pastel1")) #+
#scale_fill_manual(values = c("green3", "orange", "blue", "red", "grey","yellow"))
p1 + theme(legend.position = "",
panel.background = element_blank(),
panel.border = element_blank(),
plot.title = element_blank(),
panel.grid = element_blank(),
legend.title = element_blank(),
legend.justification = c(0, 1),
legend.key = element_rect(colour = NA, fill = NA),
legend.text = element_text(size= 10, color = "black",family = "sans"),
legend.background = element_blank(),
axis.text.x = element_text(size= 12, color = "black",family = "sans",hjust = 0.5),
axis.text.y = element_blank(),
axis.title = element_blank(),
axis.ticks.length.x = unit(3, "pt"),
axis.ticks.length.y = unit(0, "pt"),
axis.line = element_blank())

ggsave(filename = paste0(Sys.Date(),"network_1.tif"),
plot = last_plot(), device = "tiff", path = dir_path,
width = 25, height = 10, units = "cm",
dpi = 300, limitsize = TRUE)
#https://rpubs.com/TX-YXL/693233