作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近将我的 R 中的 SunburstR 包更新到 2.0 版本,突然切片的排序(按大小、降序、顺时针)不再像以前那样自动发生。周围有没有 R & JS/d3.js 专家帮我实现一个自定义的 JS sortFunction 或者说如何解决这个问题?出于复制目的:
library(jsonlite)
library(sunburstR)
b = read.csv(
file = paste0(
"https://gist.githubusercontent.com/rileycrane/",
"92a2c36eb932b4f99e51/raw/",
"a0212b4ca8043af47ec82369aa5f023530279aa3/visit-sequences.csv"
),header=FALSE
,stringsAsFactors = FALSE
)
sequence_json <- jsonlite::fromJSON(
system.file("examples/visit-sequences.json",package="sunburstR"),
simplifyDataFrame = FALSE
)
sunburst(sequence_json)
sunburst 函数提供了一个 sortFunction 参数,可以在其中编写自定义 JS,例如:
sunburst(df,
# create a trivial sort function
sortFunction = htmlwidgets::JS('function(x) {return x;}'))
谢谢!
过去的样子(注意切片的顺序):
最佳答案
也许这个example按字母顺序排序会有所帮助。
作为另一个例子,这里是我们如何将每个节点从最大到最小计数排序。
library(sunburstR)
sequence_json <- jsonlite::fromJSON(
system.file("examples/visit-sequences.json",package="sunburstR"),
simplifyDataFrame = FALSE
)
sunburst(
sequence_json,
sortFunction = htmlwidgets::JS(
"
function(a,b) {
// sort by count descending
// unlike the other example using data.name, value is at the top level of the object
return b.value - a.value
}
"
)
)
大多数属性将以 .data
为前缀。
在 sortFunction 中设置一个 debugger
并在 Chrome 和 Firefox 中使用开发人员工具打开小部件以查看您正在使用的内容可能会有所帮助。
关于SunburstR 图的 Javascript 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50365358/
我有一个 data.frame看起来类似于这个例子: > head(dd) # paths counts #1 s 4735 #2 dt 4635 #3 so 219
我最近将我的 R 中的 SunburstR 包更新到 2.0 版本,突然切片的排序(按大小、降序、顺时针)不再像以前那样自动发生。周围有没有 R & JS/d3.js 专家帮我实现一个自定义的 JS
我是一名优秀的程序员,十分优秀!