我使用Chart.js v2.5.0创建了一个这样的图表:
请注意,有时条形图会越过红色虚线。有时红色虚线会在不同的位置(通常在25,但在某些月份会在其他水平)。
我的问题是我希望红色虚线延伸到列的全宽。正如您在第一列中看到的,红色虚线仅进入该列的一半。我在图表的另一端也有同样的问题,红色虚线只到了列的一半。
我目前的实现是一个混合图,一个是条形图,另一个是折线图-数据如下:
data = {
labels: ['Jan 21st', 'Feb 21st', 'Mar 21st', 'Apr 21st']
datasets: [
{
type: 'bar',
label: 'A',
data: [10, 25, 18, 37],
},
{
type: 'line',
label: 'B',
data: [25, 25, 25, 25],
fill: false,
borderWidth: 1,
borderColor: '#f00',
borderDash: [5,4],
lineTension: 0,
steppedLine: true
}
]
}
Chart.js是否有一个选项或方法来使红色虚线扩展到整个列宽?
我有另一个想法,但我不确定这是否可行:我可以使用条形图的红色虚线,只显示条形图的顶部线吗?
1条答案
按热度按时间p1tboqfb1#
不幸的是,没有一种方法可以“配置”图表来实现您想要的。这一切都与折线图比例绘制的工作原理有关。话虽如此,您仍然可以通过使用一些“虚拟”数据欺骗chart.js来实现此行为。
基本上,您创建了一个“虚拟”的第一个和最后一个标签。然后将相应的“虚拟”第一个和最后一个值添加到条形数据数组中(此数据将永远不会显示)。然后将相应的“dummy”第一个和最后一个值添加到您的线数据数组中,但请确保您将该值设置为与下一个/上一个值相同,以直线结束(否则您的线将在开始和结束时形成Angular )。我的意思是。
检查这个codepen example以查看它的实际操作。