【发布时间】:2019-03-20 04:09:10
【问题描述】:
我目前的项目需要展示这种图形图表。
大多数情况下,Bar 元素位于 2 条垂直网格线的中间,但在我的情况下,它应该位于 1 条垂直网格线的中心。
我搜索了示例代码和 API 文档,但找不到适合我的案例的解决方案。
是否可以用 Chart.js 绘制这种图表?
【问题讨论】:
标签: javascript svg charts chart.js bar-chart
我目前的项目需要展示这种图形图表。
大多数情况下,Bar 元素位于 2 条垂直网格线的中间,但在我的情况下,它应该位于 1 条垂直网格线的中心。
我搜索了示例代码和 API 文档,但找不到适合我的案例的解决方案。
是否可以用 Chart.js 绘制这种图表?
【问题讨论】:
标签: javascript svg charts chart.js bar-chart
您是否尝试将 gridLines.offsetGridLines 设置为 false?它应该工作正常。在此处查看文档:https://www.chartjs.org/docs/latest/charts/bar.html#scale-configuration
options: {
scales: {
xAxes: [{
gridLines: {
offsetGridLines: false
}
}
}
}
【讨论】:
offsetGridLines: false,效果很好,但是结果与我预期的图像略有不同。每条网格线需要与另一条网格线具有相同的距离,但offsetGridLines: false 使修剪关闭(?)开始和最后一条网格线,因此距离具有半角大小。 (对不起,由于我的英语不专业,很难很好地描述我的情况。)
categoryPercentage、barThickness 和 barPercentage 的设置,用于调整条形大小和类别之间的差距。如果您确实有超过 1 个类别并希望它们堆叠而不是彼此相邻放置,您也可以设置 stacked: true。阅读有关 xaxes 缩放的更多信息:chartjs.org/docs/latest/axes
options > scales > xAxes > offset: false API 文档里没有这个配置,有点郁闷。