4

我有一个 rails 4 应用程序,我正在使用 chartkick。我目前正在使用饼图,我想知道是否有一种方法可以让我的饼图的每个部分导航到端点或 url 或任何东西。

有人会如何解决这个问题?它会在 ERB 文件中完成,还是在控制器中完成?怎么做?

4

1 回答 1

0

我花了很多时间试图自己解决这个问题。不幸的是,似乎没有简单的“在此处添加链接并开始”的选项。

Chartkick 允许您指定是否要使用 Google 图表库或 Highcharts 库。这两个库都允许您绘制图表,您可以在其中指定特定数据点/数据系列的“单击”操作。要利用这一点,您可以使用直接的 JQuery/JS 绘制图表——如果您只习惯于标准的 chartkick 东西,这比看起来容易得多。

这是 HighCharts 文档: http ://api.highcharts.com/highcharts#plotOptions.pie.events.click

这是一篇很棒的博客文章,展示了如何设置 JS/Jquery(您可以使用http://js2.coffee非常轻松地将其转换为 Coffescript ) http://birdchan.com/home/2012/09/07/highcharts-饼图可以拥有 url 链接/

他的方法效果很好,而且,您可以通过在资源控制器上创建一个端点来提供图表所需的数据哈希,从而使其更容易,替换:

data: [
            {name: 'Not Tested', color: '#FFA850', y: 87, url: 'http://my_site1.com'},
            {name: 'Fail', color: '#FF2929', y: 2, url: 'http://my_site2.com'},
            {name: 'Pass', color: '#31FF4F', y: 32, url: 'http://my_site3.com'}
        ]

有类似的东西:

$.ajax {
url: "/place/resources/resource_id/top_members.json"
success: (data) ->
  draw_some_pie_chart(data)
}

或者,您也可以使用 GON gem 使该哈希值可用作 Coffeescript/JS 文件中的变量。

我确信有一种更具体/更彻底的方式来回答您的问题。如果您想发布您尝试使用的代码示例,我可以更新我的答案

于 2015-10-20T16:59:09.203 回答