Rails chartkick:只需要轴上的整数值.使用离散或其他什么?

7 charts ruby-on-rails chartkick

说我有以下代码

<% data = [
[1,1],[2,3],[3,5],[4,8],[6,4],[7,2]
] %>

<%= line_chart data,  {discrete: true, library: {width: 600} }%>
Run Code Online (Sandbox Code Playgroud)

使用chartkick,这将生成以下图表

描述

我希望使用整数标记垂直轴.(不是小数)我认为该discrete选项应该这样做但是对于这个例子它所做的只是改变水平轴上元素的格式从时间到数字(即下面的代码

<%= line_chart data,  {library: {width: 600} }%>
Run Code Online (Sandbox Code Playgroud)

产生这个

呸

).

所以我的问题是:discrete除了将实际数字的日期更改为数字之外,究竟做了什么.如何使用它来使垂直轴上的数字整数?(或者,如果不能用它来做,我可以使用什么?)

SHS*_*SHS 5

discrete选项仅适用于“主轴”,适用于离散轴。您应该阅读离散轴和连续轴之间的区别。

我只是阅读了配置选项。显然,您可以ticks向每个轴传递一个选项。刻度线是标记。您可以从数据中获得每个范围的最小值和最大值,然后以1个整数间隔散布它。

因此,以下为您工作:

data = [[1,1],[2,3],[3,5],[4,8],[6,4],[7,2]]

x_values = data.map(&:first)
x_range = (x_values.min)..(x_values.max)

y_values = data.map(&:last)
y_range = (y_values.min)..(y_values.max)

library_options = {
  width: 600,
  hAxis: {ticks: x_range.to_a},
  vAxis: {ticks: y_range.to_a}
  # to_a because I don't know if Range is acceptable input
}

line_chart(data, {library: library_options})
Run Code Online (Sandbox Code Playgroud)

有关更多选项,请查看Google Chart的折线图配置选项