R - Использование пакета Riverplot - диаграмма Санки

Я пытаюсь нарисовать диаграмму Санки, используя пакет Riverplot к январю. Однако мои случаи довольно сложны, и я не нашел способа исправить свою диаграмму, поэтому я публикую эти вопросы, надеюсь, что эта помощь поможет найти какой-то ответ на мои вопросы или способ улучшить пакеты.

Мои графики как ниже. Как вы можете видеть, моя диаграмма на первом изображении имеет статус узла, перекрывающий друг друга и не читаемый. Можно ли отобразить имя узла на стороне диаграммы, и имя каждого узла будет рядом с полосой, которую он обозначает. Идеи отображаются на втором изображении ниже, где у нас есть несколько полос, а затем должен быть указан статус, чтобы объяснить, что означает полоса.

Большое спасибо!

В моих случаях сложно создать образец, но я повторно использую январский образец, включенный в пакет riverplot, с некоторыми изменениями. Вот

library(riverplot)
temp <- function () {
ret <- list(nodes = 
                data.frame(ID = LETTERS[1:8], x = c(1,2, 2, 3, 3, 4, 5, 1), 
                           labels = c(NA, NA, "Node C Node C Node C", rep(NA, 4), "Node H Node H Node H"), 
                           stringsAsFactors = FALSE), 
            styles = list(A = list(col = "#00990099",
                                   lty = 0, textcol = "white"), 
                          H = list(col = "#FF000099", textcol = "white"), 
                          B = list(col = "#00006699", textcol = "white"),                                                                                                                                                                           F = list(col = "yellow"), D = list(col = "#00FF0099")))
ret$edges <- data.frame(N1 = c("A", "A", "A", "H", "H", "H", 
                               "B", "B", "C", "C", "C"), N2 = 
                            c("B", "C", "D", "D", "F", "G", "D", "F", "D", "E", "F"), 
                        Value = c(10, 20, 5, 10, 10, 20, 5, 10, 20, 15, 10), stringsAsFactors = F)
rownames(ret$nodes) <- ret$nodes$ID
class(ret) <- c(class(ret), "riverplot")
return(ret)
} 
x <- temp(x) 
plot(x)

1 ответ

Это srt аргумент riverplot плюс более короткие ярлыки ответ?

ret <- list(nodes = 
              data.frame(ID = LETTERS[1:8], x = c(1,2, 2, 3, 3, 4, 5, 1), 
    #                     labels = c(NA, NA, "Node C Node C Node C", rep(NA, 4), "Node H Node H Node H"), 
            labels = c(NA, NA, "Node C", rep(NA, 4), "Node H"), 
                         stringsAsFactors = FALSE), 
            styles = list(A = list(col = "#00990099",
                                   lty = 0, textcol = "white"), 
                          H = list(col = "#FF000099", textcol = "white"), 
                          B = list(col = "#00006699", textcol = "white")))                                                                                                                                                                           F = list(col = "yellow"), D = list(col = "#00FF0099")))
ret$edges <- data.frame(N1 = c("A", "A", "A", "H", "H", "H", 
                               "B", "B", "C", "C", "C"), N2 = 
                          c("B", "C", "D", "D", "F", "G", "D", "F", "D", "E", "F"), 
                        Value = c(10, 20, 5, 10, 10, 20, 5, 10, 20, 15, 10), stringsAsFactors = F)
rownames(ret$nodes) <- ret$nodes$ID
class(ret) <- c(class(ret), "riverplot")

riverplot(ret, srt = 0)

введите описание изображения здесь

Другие вопросы по тегам