在 html.erb 文件中设置 Chart.js 的刻度

Setting ticks of Chart.js in html.erb file

我在 Rails 上的 Ruby 中将 chartkick 与 chart.js 一起使用。我看到了文档和一些问题,但我找不到任何东西来解决我的问题。

我在 html.erb 文件中设置图表,如下所示:

<%=
    line_chart $hash_chart,
        options: {
            max: $value.max+5,
            min: $value.min-5,
            allowDecimals: false,
            colors: color_line,
            xtitle: "Title of x axis",
            ytitle: "Title of y axis",
            discrete: true,
            points: false,
            width: "500px",
            height: "500px",
            scales: {
                yAxes: [{
                    distribution: 'linear'
                }],
                xAxes: [{
                    distribution: 'linear',
                    type: 'category', (part of a configuration attempt)
                    categories: $time, (part of a configuration attempt)
                    ticks: {
                        stepSize: 10
                    }
                }]
            }
        }
%>

高度参数之前的设置有效,但缩放设置无效。这个问题的答案正是我所做的(根据 Chart.js 的文档),但没有工作:Force display of ticks on xAxes using chartkick gem and chart.js。我也尝试将此设置放入库大括号中。

基本上,我想在 x 轴上设置刻度并只显示我的数据数组的一些标签。是否可以格式化这个(使用这种类型的文件)?

您使用了错误的旧 v2 语法 chart.js,例如 v3 中的比例必须像这样配置

scales: {
  x:{
    ticks: {}
  },
  y: {
  // Y config
  }
}

编辑: 由于您使用的是 V2,因此声明轴的语法是正确的,请确保您没有 运行 最新版本的 chartKick,因为它使用 v3。

distribution 不会执行任何操作,除非您的秤类型是 timestepSize 仅适用于线性和时间尺度,因此您需要将 type: 'category' 更改为 type: 'linear' 或者如果您使用的是时间数据,则需要将 type: 'time' 更改为 type: 'time' 如果您使用的是时间数据步长必须在 time 子部分中配置,因此您需要将 ticks 更改为 time