ruby-on-rails - Rails chartkick : want only integer values on axes. 使用离散的还是其他的?

标签 ruby-on-rails charts chartkick

说我有以下代码

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

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

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

Description

我希望使用整数标记垂直轴。 (不是小数)我认为 discrete option 应该这样做,但对于这个例子,它所做的只是将水平轴上元素的格式从时间更改为数字(即以下代码
<%= line_chart data,  {library: {width: 600} }%>

产生这个

Yuck

)。

所以我的问题是:discrete 到底是做什么的?做,除了将实际上是数字的日期更改为数字。如何使用它使垂直轴上的数字成为整数? (或者,如果它不能用于执行此操作,我可以使用什么?)

最佳答案

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's configuration options for line charts .

关于ruby-on-rails - Rails chartkick : want only integer values on axes. 使用离散的还是其他的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27590771/

相关文章:

ruby-on-rails - 运行 Rails 应用程序时的 Mongo::Error::NoServerAvailable

jquery - Kendo dataviz 图表 valueAxis 自定义标签

ruby-on-rails - rails : Chartkick cummulative user graph

javascript - 如何为 Google Charts 中的特定行添加背景色

xcode - Xcode 中的 iOS 图表折线图不显示所有值。为什么?

css - Chartkick(google charts gem)在添加 Bootstrap 的折叠功能后忽略了我的渲染指令和压缩图表

javascript - Rails - Turbo - 链接预加载但在窗口加载事件后几秒钟内未使用

ruby-on-rails - 摩卡 : How to add expectation of a method when there are multiple invocations with different parameters

ruby-on-rails - 将样式类添加到 select_country 字段