gpt4 book ai didi

hash - 从 Ruby on Rails 数据库准备要在 d3.js 中绘制的数据

转载 作者:行者123 更新时间:2023-12-01 10:00:00 25 4
gpt4 key购买 nike

我在数据库中有一个列,其中包含对下拉“引荐来源”问题的答复。我正在查询并返回一个散列:

Clients.count(:all, :group => :referral_source)

这导致以下散列:

{"Internet search (e.g., Google)?"=>26, 
"Personal referral (e.g., friend or family)"=>23,
"Other"=>11, ""=>51,
"Listserv (e.g., neighborhood listserv)"=>5,
"Walk by"=>5}

在 View 中,我想使用 d3.js 将这些结果绘制成条形图。我发现这很好,图表看起来与我希望的图表完全一样。我的问题是示例使用 CSV 数据。

如何将我的数据转换为本示例直接使用的格式。换句话说,我希望我的数据看起来像要传递给 View 中的 javascript 的对象数组:

var data = [ {"Name": "Internet search (e.g., Google)?", "Count": 26},
{"Name": "Personal referral (e.g., friend or family)", "Count": 23},
... ]

我如何修改该散列(或查询)以使其成为所需的格式?

最佳答案

我通过将散列重新映射到新数组解决了我的问题。似乎可以使用原始查询执行此操作,但我不擅长 Activerecord/SQL 来实现它。

以下是我如何将哈希重新映射到可与 Ruby 中的 D3 生成器一起使用的对象数组

@referral_source = Client.count(:all, :group => :referral_source)
remap = @referral_source.map {|k, v| { Name: k, Count: v} }

=> {{:Name=>"Internet search (e.g., Google)?", :Count=>26}, ... ]

然后我在 View 中对其执行了 .to_json。我花的时间比我想象的要长得多。

关于hash - 从 Ruby on Rails 数据库准备要在 d3.js 中绘制的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com