javascript - 如何从 Json 文件格式的 R 分析中获取数据以获取 D3 可视化?
问题描述
我想获取 Json 文件作为分析结果,并作为 D3 代码的输入并获得可视化...有什么办法吗
我尝试在 R 中搜索很多东西以获取 json 文件的结果,但没有任何改进。
解决方案
如果您使用的是闪亮的,那么您可以像反向 Ajax 一样将消息从 R 发送到 JavaScript:
首先你需要 JS 中的处理程序:
Shiny.addCustomMessageHandler("d3vis", function(json) {
//d3 code that process json data
});
注意:默认情况下,不会定义 Shiny 对象,因为它在
setTimeout(0)
jQuery 就绪函数内部初始化,因此您还需要$(function() { setTimeout(init, 0); });
在 init 函数内部调用自定义事件处理程序。
并在 R 中发送消息:
## example data
data <- list(
x = list(1, 2, 3),
y = list(10, 20, 30)
)
session$sendCustomMessage("d3vis", data)
数据将通过使用 websockets 或 XHR 长拉的闪亮发送转换为 JSON,具体取决于设置,并将在 JavaScript 中解析,您的处理程序将在您可以使用 D3 呈现可视化的地方被调用。
您还可以使用反应性来使用交互式可视化:
observe({
## reactive data
data <- list(
x = list(input$x1, input$x2, input$x3),
y = list(input$y1, input$y2, input$y3)
)
session$sendCustomMessage("d3vis", data)
})
推荐阅读
- sql - 如何获取在开始和停止日期时间(SQL)(t-SQL)期间发生的活动状态
- java - 使用 JFrame 作为自定义输入框
- angular - Angular 5 如何创建 PDF URL?
- android - 如何暂停和恢复旋转动画android?
- c# - 使用实体模型在 Razor 中的表更新中模型值为空
- mysql - 在mysql中创建程序
- php - 在 PHP 中为通知设置 FCM 通道 ID
- excel - 选择排序在 Excel 上无法按预期工作
- javascript - 如何在Javascript中获取具有where条件的对象名称数据列表?
- java - 查找最小窗口子字符串 - leetcode - 解决方案不起作用