如何使用 Rails 数据库中的数据创建 d3 图
How to create d3 graph using data from Rails database
我学会了使用 d3 书创建 d3 图,其中所有数据集都直接包含在 <script>
标签中,而 标签又包含在html
正文中。
我现在想在我的 rails 应用程序中使用 d3,但我不知道如何:
- 将数据从我的 Rails 数据库传递到我的 d3 脚本
- 如何"部分退出"javascript?我看过关于"不显眼的javascript"的材料,但它们通常是关于AJAX表单提交的,我很难将其转换为图形绘制(即包括使用应用程序数据绘制图形的
<div>
(。
目前还没有解决这两个问题的答案,所以希望这能成为未来谷歌员工的参考。
在我看来,
通过 AJAX 请求数据将是"最干净"的方法。你可以使用jQuery的ajax方法来做一个GET请求,说'/get_data.json'(你必须把它添加到你的routes.rb
中(,这将返回一个包含数据的JSON。
像这样的东西。
//your JS file
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: '/get_data',
dataType: 'json',
data: "{}",
success: function (received_data) {
var div_where_to_draw = "div.mygraph";
your_d3_function(div_where_to_draw, received_data);
},
error: function (result) {
}
});
function draw_histogram(where_to_draw, data_to_draw){
//Your d3js code here
}
(注意,这个JS代码是这里答案的翻版(
这就是提供数据的控制器的外观(注意,我创建了一个新控制器,您可能不想这样做,而只是在现有控制器中使用新操作(:
#app/controllers/data_controller.rb
class DataController < ApplicationController
def get_data
respond_to do |format|
format.json {}
end
end
end
这就是您的数据的样子:
#app/views/data/get_data.json
[1,1,2,3,5,8,13,21,34,55]
相关文章:
- 使用外部数据创建仪表板(谷歌电子表格)-JavaScript
- 从html表中的输入数据创建图表
- 使用来自不同循环Javascript的数据创建数组
- 在d3forjavascript中,如何为数据创建不同的元素
- 如何使用json数据创建下拉列表
- 使用 mysql 数据创建条形图
- 在javascript中使用给定的数据创建Json
- Jquery:为新数据创建寻呼机(next-prev按钮)
- 为Meteor数据创建编号列表
- 如何创建和下载PDF和docx格式的文件,该文件将从AngularJS中的表中的数据创建
- 为数据创建唯一变量
- 如何使用旧数组中的数据创建新数组
- 使用外部数据创建体式任务
- 将数据从一个工作表复制到另一个工作表;使用目标工作表中的复制数据创建一个表
- 我可以在谷歌地图上使用OpenStreetMap数据创建获取路线吗?如何
- 如何为具有嵌套对象的 JSON 数据创建 Mustache 模板
- 如何使用 import.io 中的数据创建 Web 应用
- 从 CSV 数据创建 D3.js 可折叠树
- 如何使用SQLite数据创建Javascript var
- 使用 AJAX 数据创建注释页选择