首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ruby on Rails上使用Chartkick的分组堆叠条形图/柱状图

在Ruby on Rails上使用Chartkick的分组堆叠条形图/柱状图
EN

Stack Overflow用户
提问于 2019-01-25 13:23:11
回答 1查看 1.1K关注 0票数 0

我有两个数据集,其中包含由AI自动收集的数据和另一个由人类手动收集的数据。我目前使用Chartkick for Rails将它们显示在两个单独的柱状图中

如上所示,AI数据显示为堆叠柱形图,显示确认、拒绝和未验证数据的细分,因为我们仍然进行确认检查,以查看我们的AI的准确性,而人工操作数据按原样显示,因此,不需要使用堆叠柱形图。

现在,我想要实现的是并排(分组)显示AI和人类操作的数据,同时保持AI数据的堆叠属性。所以它应该看起来像这样:

我目前为这两个单独的图表编写的代码是:

controller

代码语言:javascript
复制
# Data for Stacked Column Chart
@ai_operated_data = [
  {
     name: "Confirmed",
     data: PotentialViolator.where(confirmation_status: 1).group_by_week(:capture_time).count
  },
  {
     name: "Rejected",
     data: PotentialViolator.where(confirmation_status: 0).group_by_week(:capture_time).count
  },
  {
     name: "Unverified",
     data: PotentialViolator.where(confirmation_status: -1).group_by_week(:capture_time).count
  }
]

# Data for Single Column Chart
@human_operated_data = [
  {
     name: "Human Operated Data",
     data: ManuallyCaughtViolator.group_by_week(:capture_time).count
  }
]

view

代码语言:javascript
复制
<div class="ui container">
    <h1>Performance Analytics</h1>
    <div class="ui divider"></div>
      <%= column_chart @ai_operated_data, stacked: true %>
      <%= column_chart @human_operated_data %>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-25 15:26:06

我能够从Chartkick.js examples中找到一个示例,并发现只有stack选项,您可以将其作为参数传递,以指定系列是否将成为堆栈的一部分。

我在view中的最终代码现在看起来如下所示:

代码语言:javascript
复制
<%= column_chart [
        {
            name: "Confirmed AI-PWD Operated Data",
            data: PotentialViolator.where(confirmation_status: 1).group_by_week(:capture_time).count,
            stack: "stack 1"           
        },
        {
            name: "Rejected AI-PWD Operated Data",
            data: PotentialViolator.where(confirmation_status: 0).group_by_week(:capture_time).count,
            stack: "stack 1"                
        },
        {
            name: "Unverified AI-PWD  Operated Data",
            data: PotentialViolator.where(confirmation_status: -1).group_by_week(:capture_time).count,
            stack: "stack 1"                
        },
        {
            name: "PWD-Operated Data",
            data: ManuallyCaughtViolator.group_by_week(:capture_time).count,
            stack: "stack 2"
        }
    ], stacked: true
%>

所以它会生成这个图表:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54359374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档