7

说我有以下代码

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

<%= line_chart data,  {discrete: true, library: {width: 600} }%>

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

描述

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

<%= line_chart data,  {library: {width: 600} }%>

产生这个

呸

)。

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

4

2 回答 2

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})

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

于 2014-12-21T16:13:57.937 回答
2

试试这个: library: { yAxis: {allowDecimals: false } }

来源:https ://github.com/ankane/chartkick/issues/269

于 2019-09-17T13:50:40.140 回答