Rails中Chartkick折线图仅显示去年数据,如何展示全年度数据?
解决Chartkick折线图仅显示2023年数据的问题
要让折线图展示所有年份的案例数据,你可以通过以下方式调整代码:
- 显式指定分组的时间范围,覆盖Chartkick
group_by_year方法的默认范围限制。修改后的代码会自动包含数据库中所有存在案例数据的年份:
<%= line_chart Case.all.group_by_year(:created_at, range: Case.minimum(:created_at)..Case.maximum(:created_at)).count, stacked: true, xtitle: "日期", ytitle: "交易数", library: { format: 'MM/YY' }, discrete: true %>
- 原理说明:
group_by_year默认可能仅统计最近12个月或当前年份附近的数据,通过range参数传入案例创建时间的最小和最大值区间,就能确保所有有数据的年份都被包含进来。
另外,如果你确认数据库中存在其他年份的案例数据,也可以先排查下Case.all是否真的包含了所有记录(比如有没有被其他隐式筛选条件限制)。
内容的提问来源于stack exchange,提问作者nourza
相关产品推荐
相关产品推荐

