Vuc*_*cko 5 ruby-on-rails chartkick
我在我的RoR项目中使用chartckick来生成图表,这非常好用.(以及Google Charts).
我创建了一个柱形图与只有2条(男性和女性).

现在客户想要每个酒吧都有不同的颜色?那可能吗?
我看过这篇文章 - 如何更改用Chartkick创建的柱形图的颜色?但它已经超过了一半的年龄,我希望现在有办法为酒吧指定更多的颜色.
更新
我的代码看起来像:
调节器
@followers_gender_count = Project.find(params[:id]).followers.group(:gender).count
Run Code Online (Sandbox Code Playgroud)
视图
<%= column_chart parse_gender_data(@followers_gender_count) %>
Run Code Online (Sandbox Code Playgroud)
帮手
def parse_gender_data(data)
gender_data = Hash.new
gender_data[:male] = data[1]
gender_data[:female] = data[2]
({ 'Male' => gender_data[:male], 'Female' => gender_data[:female] })
end
Run Code Online (Sandbox Code Playgroud)
更新2 - GitHub上的问题
以下也有效.我在初始化器中没有任何新文件(没有chartkick.rb文件),这只是通过将以下代码添加到我的帮助文件中来实现的:
def networth_data
[
{name: "Assets", data: {"NetWorth": 6979.53}},
{name: "Liabilities", data: {"NetWorth": 10532.32}}
]
end
Run Code Online (Sandbox Code Playgroud)
然后在我的html.erb中我指定了我想要的颜色和其他选项:
<%= column_chart networth_data,
colors: ["green", "#FF0000"],
library: {backgroundColor: "#FFF", height: 265} %>
Run Code Online (Sandbox Code Playgroud)
...呈现此图表:

从@buren 在 GitHub 上的评论来看,使用不同的 JSON 结构似乎会在column_cart.
我更改了Helper 中的输出:
def parse_gender_data(data)
gender_data = Hash.new
gender_data[:male] = data[1]
gender_data[:female] = data[2]
[{"name" => "Male","data" => {"Gender" => gender_data[:male]}},{"name" => "Female","data" => {"Gender" => gender_data[:female]}}]
end
Run Code Online (Sandbox Code Playgroud)
并创建了chartkick.rb 配置文件 ( config/initializers/chartkick.rb),添加了一些颜色:
Chartkick.options = {
colors: ["#63b598", "#ce7d78", "#ea9e70", "#a48a9e", "#c6e1e8"]
}
Run Code Online (Sandbox Code Playgroud)
