# Zainstaluj pakiet install.packages("circlize") # Load circlize package library(circlize) # Otwórz plik .csv i zapisz go jako macierz # UWAGA! Pierzy wiersz zawiera nazwę ktaju pochodzenia, a pierwsza kolumna nazwę kraju docelowego mydata<-read.table(choose.files(),header = TRUE,sep = ";",stringsAsFactors =FALSE ) df<-data.frame(mydata,row.names = TRUE) df1<-data.matrix(df) # Domyślny wykres: chordDiagramFromMatrix(df1) # Upiększmy go ;) # Wyczyść wcześniejszą wizualizację circos.clear() # Dodaj kierunek przepływu chordDiagramFromMatrix(df1,directional = -1) # Kolor wstążki powienin obrazować kraj pochodzenia chordDiagramFromMatrix(t(df1),directional = 1) # Dodaj strzałki kierunkowe chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows") # Dodaj kolejność według własnego uznania chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", order = c("AT","DK","HR","BE","CZ","BG")) # Dodaj przerwy pomiędzy kategorami circos.clear() circos.par(gap.after=7) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", order = c("AT","DK","HR","BE","CZ","BG")) # Dodaj wybrane przez siebie kolory circos.clear() circos.par(gap.after=7) grid.col = c(HR = "blue",CZ="red",DK="grey",AT="grey",BE="grey",BG="grey") chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", order = c("AT","DK","HR","BE","CZ","BG"), grid.col = grid.col) # Dodaj przezroczystość, 0 określa brak przezroczystości, 1 pełną transparentność circos.clear() circos.par(gap.after=7) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", order = c("AT","DK","HR","BE","CZ","BG"), grid.col = grid.col, transparency=0.7) # Jeśli potrzebujesz obramowania do strzałek... circos.clear() circos.par(gap.after=7) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", order = c("AT","DK","HR","BE","CZ","BG"), grid.col = grid.col, transparency=0.7, link.lwd = 2, link.lty = 2, link.border = "yellow") # Kolejność obiektów ze wzgledu na wartość - malejąco circos.clear() circos.par(gap.after=7) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", grid.col = grid.col, transparency=0.7, link.sort=TRUE, link.decreasing = TRUE) # Kolejność obiektów ze wzgledu na wartość - rosnąco circos.clear() circos.par(gap.after=7) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", grid.col = grid.col, transparency=0.7, link.sort = TRUE, link.decreasing = FALSE) # Wyniki jako % circos.clear() circos.par(gap.after=7) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", grid.col = grid.col, transparency=0.7, link.sort = TRUE, link.decreasing = FALSE, scale=TRUE) # Strzałki tylko dla najważniejszych połączeń circos.clear() circos.par(gap.after=7) arr.col=data.frame(c("CZ","HR"),c("AT","AT"),c("black","black")) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", link.arr.col = arr.col, grid.col = grid.col, transparency=0.4, link.sort = TRUE, link.decreasing = FALSE, scale=TRUE) # Wersja końcowa circos.clear() circos.par(gap.after=7) grid.col = c(HR = "#00b4d8",CZ="#ffb703",DK="#f0efeb",AT="#f0efeb",BE="#f0efeb",BG="#f0efeb") arr.col=data.frame(c("CZ","HR"),c("AT","AT"),c("black","black")) chordDiagramFromMatrix(t(df1),directional = 1,direction.type = "arrows", link.arr.col = arr.col, grid.col = grid.col, transparency=0.3, link.sort = TRUE, link.decreasing = FALSE, scale=FALSE)