Im учится создавать круговые графики в R, аналогичные CIRCOS Я использую пакет, чтобы нарисовать ссылки между парами происхождения и назначения, исходя из того, был ли полет OB, входящим и возвращаемым. Логика Ф.О. на оленьей коже данных действительно имеет значения, его просто игрушка примерR Круговые диаграммы Chord
Я получил участок для работы на основе коды, ниже которого работает на основе следующей логике
- Возьмите мои данные, объединить столбец назначения с типом полета
- Преобразовать в матрицу и кормить происхождение и новый столбец в circlize
library(dplyr)
library(circlize)
# Create Fake Flight Information in a table
orig = c("IE","GB","US","ES","FI","US","IE","IE","GB")
dest = c("FI","FI","ES","ES","US","US","FI","US","IE")
direc = c("IB","OB","RETURN","DOM","OB","DOM","IB","RETURN","IB")
mydf = data.frame(orig, dest, direc)
# Add a column that combines the dest and direction together
mydf <- mydf %>%
mutate(key = paste(dest,direc)) %>%
select (orig, key)
# Create a Binary Matrix Based on mydf
mymat <- data.matrix(as.data.frame.matrix(table(mydf)))
# create the objects you want to link from to in your diagram
from <- rownames(mymat)
to <- colnames(mymat)
# Create Diagram by suppling the matrix
par(mar = c(1, 1, 1, 1))
chordDiagram(mymat, order = sort(union(from, to)), directional = TRUE)
circos.clear()
Мне очень нравится сюжет, но хотелось бы немного его поменять. Например, FI (это Финляндия) имеет 3 измерения на диаграмме FI IB, FI OB и FI. Я хотел бы объединить их всех под FI, если это возможно, и провести различие между тремя типами полетов, используя либо цветовую схему, либо стрелку, либо даже добавив дополнительный трек, который действует как зонтик для полетов IB OB и RETURN.
Итак, для примера ,
- Ф.И. О.Б. будет помещен в FI, но имеют одну сторону стрелку GB для обозначения OB
- Ф. И. Б. будет помещен в FI, но есть один путь стрелка в FI
- FI RETURN (если он существует) будет иметь двунаправленную стрелку
Может кто-нибудь помочь, Кто-нибудь видел что-нибудь подобное раньше? Конечный результат должен иметь только страны на участке один раз, чтобы кто-то мог видеть очень быстро, в каких странах наибольшее количество полетов.
Я пробовал следовать other posts, но я боюсь, что я заблудился, когда они перейдут на более продвинутый материал
Большого спасибо за ваше время
впечатляет и очень полезно! Я надеюсь, что Джон примет этот ответ, щелкнув V; ^) – irJvV
Это блестяще, спасибо вам большое –