我正在开展一个需要制作序列旭日形图的项目。我在D3.js上找到了一个示例,但我不知道如何将它放入闪亮的服务器功能中。有谁知道怎么做?
这是D3上旭日爆炸图的链接:http://bl.ocks.org/kerryrodden/7090426
答案 0 :(得分:1)
我应该放弃一个免责声明,我不知道如何使用闪亮的。
我有一个目录test
,带
server.R
ui.R
www/
sequences.js
sequences.css
index.html
visit-sequences.csv
首先,我使用此函数制作带有数据的visit-sequences.csv
文件
## function to create the csv file
make_csv <- function(x, file = '~/desktop/test/www/visit-sequences.csv') {
dd <- data.frame(ftable(x))
dd <- within(dd, {
visit <- apply(dd[, -ncol(dd)], 1, function(x)
paste0(c(x, 'end'), collapse = '-'))
count <- dd$Freq
})
write.table(dd[dd$count > 0, c('visit','count')], file = file, sep = ',',
quote = FALSE, row.names = FALSE, col.names = FALSE)
}
set.seed(1)
dd <- sample(c('home','product','search','account','other'), 500,
replace = TRUE, prob = c(.5,.3,.1,.05,.05))
dd <- as.data.frame(matrix(dd, ncol = 5))
make_csv(dd)
请注意,您可以看到图表已经没有闪亮
browseURL('~/desktop/test/www/index.html')
要在闪亮的应用中使用,
server.R
## server.R
shinyServer(function(input, output) {
## nothing here
})
ui.R
## ui.R
shinyUI(pageWithSidebar(
headerPanel(HTML('A sunburst chart in d3')),
sidebarPanel(
checkboxInput(
inputId = 'dataSource',
label = 'Select file.',
value = FALSE
),
conditionalPanel(
condition = 'input.dataSource == false',
textInput(inputId='url', label='File URL:', value='./visit-sequences.csv')
),
conditionalPanel(
condition = 'input.dataSource == true',
fileInput(inputId = 'file', label='Data to plot:')
)
),
mainPanel(
includeScript('./www/sequences.js'),
includeCSS('./www/sequences.css'),
includeHTML('./www/index.html')
)
))
最后,运行
library('shiny')
runApp('~/desktop/test')
我得到了这个
但就像我说的那样,我真的不知道自己在做什么。要更改标签,颜色和其他内容,您需要编辑js,html和css文件。