我希望图表js折线图上的数据应采用旋转形式,这是我的代码:
meta.data.forEach(function (bar, index) {
var data = iData[index].data;
if(index <= 4 ){
ctx.rotate(-Math.PI / 4);
ctx.save();
ctx.fillText("" + data + ",", bar._model.x, bar._model.y);
ctx.restore();
}
});
enter image description here
我希望图表上的数据像标签一样呈旋转形式。我已经尝试过canvas旋转方法,但是没有给我正确的结果,它没有放在bar._model.x
和bar._model.y
的位置上。这是它的图像
enter image description here
谁能建议我解决方案?预先感谢。
答案 0 :(得分:0)
旋转后,画布的轴成一定角度。如果尝试将fillText
与x
和y
一起使用,它们将沿着旋转轴,这就是为什么文本位置不正确的原因。请尝试先将translate
移到正确的位置,然后再rotate
,再用fillText
将x = y = 0
移到正确的位置。
这样会将文本放置在正确的位置,然后将其旋转到位。
此外,您应在转换上下文矩阵之前调用save
。
尝试以下操作:
ctx.save();
ctx.translate(bar._model.x, bar._model.y);
ctx.rotate(-Math.PI / 4);
ctx.fillText("" + data + ",", 0, 0);
ctx.restore();