我有一张雷达图表(几乎)显示我想要它。唯一的问题是比例应该达到20,但正如你在下面看到的那样,突出显示的点是17并且不在图表之内。如何缩放它以使最大点为20并且显示的突出显示点位于图表内?
我目前的代码是:
var radarChartData = {
labels: ["ATT", "SPD", "POW", "DEF", "STA", "TEC"],
datasets: [ {
scaleOverride: true,
scaleSteps: 5,
scaleStepWidth: 5,
scaleStartValue: 0,
pointLabelFontSize: 16,
fillColor: "rgba(0,120,0,0.2)",
strokeColor: "rgba(0,120,0,1)",
pointColor: "rgba(10,10,10,1)",
pointStrokeColor: "#ccc",
pointHighlightFill: "#333",
pointHighlightStroke: "rgba(255,255,0,1)",
data: [12,15,17,16,11,13]
} ]
};
我认为scaleSteps
,scaleStepWidth
和scaleStartValue
选项会改变这种情况,但似乎不会影响它。
编辑:它似乎不会影响另一组数据......
正如您在此处所看到的,17的值确实位于图表中。这个代码是:
var radarChartData = {
labels: ["ATT", "SPD", "POW", "DEF", "STA", "TEC"],
datasets: [ {
scaleOverride: true,
scaleSteps: 5,
scaleStepWidth: 5,
scaleStartValue: 0,
pointLabelFontSize: 16,
fillColor: "rgba(0,120,0,0.2)",
strokeColor: "rgba(0,120,0,1)",
pointColor: "rgba(10,10,10,1)",
pointStrokeColor: "#ccc",
pointHighlightFill: "#333",
pointHighlightStroke: "rgba(255,255,0,1)",
data: [19,17,15,6,16,15]
} ]
};
2之间有什么区别?第二个值ATT
的值为19,但它在图表中就好了。
答案 0 :(得分:8)
好的,我发现我需要将scaleSteps
,scaleStepWidth
和scaleStart
移动到新Radar
图表的声明中,而不是在数据集。
window.onload = function(){
var ctx = document.getElementById("radarCanvas").getContext("2d");
window.myRadar = new Chart(ctx).Radar(radarChartData, {
responsive: false,
pointDot:false,
showTooltips: false,
scaleOverride: true,
scaleSteps: 4,
scaleStepWidth: 5,
scaleStartValue: 0
}); }
有关工作示例,请参阅http://jsfiddle.net/7p8ffvqx/。