Shiny 闪亮应用程序修改节点并将颜色链接到自己的数据

Shiny 闪亮应用程序修改节点并将颜色链接到自己的数据,shiny,networkd3,sankey-diagram,htmlwidgets,Shiny,Networkd3,Sankey Diagram,Htmlwidgets,我正在开发一个应用程序,根据CSV文件(如本文中包含的文件)输入的数据,使用软件包中的sankeyNetwork(),显示一个sankey图形 我在按组着色sankey图中的链接时遇到问题 以下是我使用的代码: output$splot <- renderSankeyNetwork({ print(names(data())) sankeyNetwork( Links = data(), Nodes = label()

我正在开发一个应用程序,根据CSV文件(如本文中包含的文件)输入的数据,使用软件包中的
sankeyNetwork()
,显示一个sankey图形

我在按组着色sankey图中的链接时遇到问题

以下是我使用的代码:

output$splot <- renderSankeyNetwork({
        print(names(data()))
        sankeyNetwork(
          Links = data(),
          Nodes = label(),
          Source = 'source',
          Target = 'target',
          Value = 'value',
          NodeID = "name",
          fontSize = input$x,
          nodeWidth =0.6*input$x,
          NodeGroup = "ngroup", LinkGroup = "lgroup",
         
          iterations = 0
        )
      }) 
      
output$splot这里是一个最小的可重复示例,使用您的一些数据和代码,演示如何在使用中的
sankeyNetwork()
时调整颜色

库(networkD3)

链接欢迎使用StackOverflow。请花些时间重新组织您的问题,您可以参考“”和。嘿!谢谢,但请你向我报告我需要改进的问题?1。你问了3个问题。你应该只问一个具体的问题。2.这基本上是你几天前问的问题的重复。3.你应该尽量减少你的代码来演示一个特定的问题我非常感谢你的建议,尽管我已经修改了这个问题!请原谅,我急于解决我的问题,主要是因为我是这个网站的初学者,也是Shining app的开发者,它现在看起来怎么样?如果你问的是一个关于如何控制
sankeyNetwork()
输出中的颜色的问题,那么所有与
Shining
相关的代码都是无关的。也许你应该只使用与sankeyNetwork()相关的
sankeyNetwork()
代码来制作一个最小的可复制示例,这样有人可以帮助你理解如何控制颜色,一旦你理解了这一点,也许你就可以自己将该输出包含在
Shining
或其他任何内容中。事实上,我尝试过这个,但每当我插入颜色和“粘贴”这会给我带来问题,甚至会显示一个带有白色链接和黑色节点的图形。那么你必须提供一个最小的可复制示例。可能我的主要问题是如何从列lgroup和ngroup中获取字符链colorJS。为什么你拒绝提供最小的可复制示例?你真的希望我或其他人花宝贵的时间猜测你真正需要或想要什么,创建我们自己的最小重复性示例来演示如何处理我们认为你可能存在的问题,然后等待你的回答告诉我们这不是你真正需要的,然后重新开始这个过程。。。而且没有赔偿?
# Add a 'group' column to each connection:
links$group=as.factor(c("type_a","type_a","type_a","type_b","type_b","type_b"))
 
# Add a 'group' column to each node. Here I decide to put all of them in the same group to make them grey
nodes$group=as.factor(c("my_unique_group"))
 
# Give a color for each group:
my_color <- 'd3.scaleOrdinal() .domain(["type_a", "type_b", "my_unique_group"]) .range(["blue", "pink", "grey"])'
 
# Make the Network
sankeyNetwork(Links = links, Nodes = nodes, Source = "IDsource", Target = "IDtarget", Value = "value", NodeID = "name", colourScale=my_color, LinkGroup="group", NodeGroup="group")
 
library(networkD3)

links <- read.csv2(header = TRUE, as.is = TRUE, text = "
source;target;value;lgroup
0;1;614;type_a
0;2;14;type_a
1;3;28;type_b
1;4;18;type_b
2;3;10;type_b
2;4;12;type_b
")

nodes <- read.csv2(header = TRUE, as.is = TRUE, text = "
name;ngroup
Mosaique FM;my_unique_group
Jawhara FM;my_unique_group
Shems FM;my_unique_group
Panorama FM;my_unique_group
IFM;my_unique_group
")

colorJS <- 'd3.scaleOrdinal().domain(["type_a", "type_b", "my_unique_group"])
              .range(["blue", "pink", "grey"])'

sankeyNetwork(Links = links, Nodes = nodes, Source = 'source', 
              Target = 'target', Value = 'value', NodeID = 'name',
              NodeGroup = 'ngroup', LinkGroup = 'lgroup', colourScale = colorJS)