问题描述
我在 Ruby on Rails 中将 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 轴上设置刻度并只显示我的数据数组的一些标签。是否可以格式化(使用这种类型的文件)?
解决方法
您使用了错误的旧版chart.js v2语法,例如v3中的比例必须像这样配置
scales: {
x:{
ticks: {}
},y: {
// Y config
}
}
编辑: 由于您使用的是 V2,因此您声明轴的语法是正确的,请确保您不要运行最新版本的 chartKick,因为它使用的是 v3。
distribution
不会执行任何操作,除非您的比例类型为 time
。 stepSize
仅适用于线性和时间刻度,因此您需要将 type: 'category'
更改为 type: 'linear'
或者如果您使用时间数据为 type: 'time'
如果您使用时间数据stepsize 必须在 time
子部分中配置,因此您需要将 ticks
更改为 time