Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ChartJS仅显示偶数值网格线?_Javascript_Reactjs_Chart.js - Fatal编程技术网

Javascript 如何使用ChartJS仅显示偶数值网格线?

Javascript 如何使用ChartJS仅显示偶数值网格线?,javascript,reactjs,chart.js,Javascript,Reactjs,Chart.js,我第一次尝试chartjs,我想让偶数的网格线更粗,更灰,而且奇数的网格线不显示,所以只有20,40,60。。。将以较粗的灰色线显示在Grindline上,如果这有意义,这就是我目前拥有的功能,我尝试在gridlines选项上调用回调函数what not work(无效)或我使用错误: buildChart = () => { const myChartRef = this.chartRef.current.getContext("2d"); myLineChar

我第一次尝试chartjs,我想让偶数的网格线更粗,更灰,而且奇数的网格线不显示,所以只有20,40,60。。。将以较粗的灰色线显示在Grindline上,如果这有意义,这就是我目前拥有的功能,我尝试在gridlines选项上调用回调函数what not work(无效)或我使用错误:

    buildChart = () => {
    const myChartRef = this.chartRef.current.getContext("2d");

    myLineChart = new Chart(myChartRef, {
      type: "radar",
      data: {
        labels: ["Fifa20", "CS:GO", "Dota 2", "LOL", "Overwatch", "Fortnite"],
        datasets: [
          {
            label: "Games",
            data: [40, 45, 53, 45, 100, 13],
            backgroundColor: [
              "transparent",
              "transparent",
              "transparent",
              "transparent",
              "transparent",
              "transparent"
            ],
            borderColor: [
              "rgba(203,166,255,1)",
              "rgba(203,166,255,1)",
              "rgba(203,166,255,1)",
              "rgba(203,166,255,1)",
              "rgba(203,166,255,1)",
              "rgba(203,166,255,1)"
            ],
            borderWidth: 5,
            pointBorderWidth: 0,
            pointBorderColor: "transparent"
          }
        ]
      },
      options: {
        responsive: true,
        maintainAspectRatio: false,

        scale: {
          ticks: {
            display: true,
            min: 0,
            max: 100,
            fontSize: 7,
            // stepSize: 10,
            callback: function(value, index, values) {
              switch (value) {
                case 20:
                  return value;
                  break;
                case 40:
                  return value;
                  break;
                case 60:
                  return value;
                  break;
                case 80:
                  return value;
                  break;
                case 100:
                  return value;
                  break;
                default:
                  return "";
              }
            }
          },
          angleLines: {
            display: true
          },
          gridLines: {
            display: true,
            color: "#cac7c7"
          },
          pointLabels: {
            fontSize: 16,
            fontStyle: "bold"
          }
        }
      }
    });
  };

  render() {
    return (
      <div style={{ height: "100%", width: "100%" }}>
        <canvas id="myChart" ref={this.chartRef} />
      </div>
    );
  }
}

buildChart=()=>{
const myChartRef=this.chartRef.current.getContext(“2d”);
myLineChart=新图表(myChartRef{
类型:“雷达”,
数据:{
标签:[“Fifa20”、“CS:GO”、“Dota 2”、“LOL”、“Overwatch”、“Fortnite”],
数据集:[
{
标签:“游戏”,
数据:[40,45,53,45,100,13],
背景颜色:[
“透明”,
“透明”,
“透明”,
“透明”,
“透明”,
“透明”
],
边框颜色:[
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”
],
边框宽度:5,
pointBorderWidth:0,
pointBorderColor:“透明”
}
]
},
选项:{
回答:是的,
MaintaintAspectRatio:false,
比例:{
滴答声:{
显示:对,
分:0,,
最高:100,
字体大小:7,
//步长:10,
回调:函数(值、索引、值){
开关(值){
案例20:
返回值;
打破
案例40:
返回值;
打破
案例60:
返回值;
打破
案例80:
返回值;
打破
案例100:
返回值;
打破
违约:
返回“”;
}
}
},
斜线:{
显示:真
},
网格线:{
显示:对,
颜色:“cac7c7”
},
点标签:{
尺寸:16,
字体:“粗体”
}
}
}
});
};
render(){
返回(
);
}
}

为了只显示20、40、60等的网格线,您可以定义
scale.ticks.stepSize:20
。要使网格线变粗,请定义
scale.gridlines.lineWidth:5,例如

请看一下下面的可运行代码段

新图表(document.getElementById('myChart'){
类型:“雷达”,
数据:{
标签:[“Fifa20”、“CS:GO”、“Dota 2”、“LOL”、“Overwatch”、“Fortnite”],
数据集:[
{
标签:“游戏”,
数据:[40,45,53,45,100,13],
背景颜色:[
“透明”,
“透明”,
“透明”,
“透明”,
“透明”,
“透明”
],
边框颜色:[
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”
],
边框宽度:5,
pointBorderWidth:0,
pointBorderColor:“透明”
}
]
},
选项:{
回答:是的,
MaintaintAspectRatio:false,
比例:{
滴答声:{
显示:对,
分:0,,
最高:100,
步长:20,
字体大小:7,
回调:函数(值、索引、值){
开关(值){
案例20:
返回值;
打破
案例40:
返回值;
打破
案例60:
返回值;
打破
案例80:
返回值;
打破
案例100:
返回值;
打破
违约:
返回“”;
}
}
},
斜线:{
显示:真
},
网格线:{
显示:对,
线宽:5,
颜色:“cac7c7”
},
点标签:{
尺寸:16,
字体:“粗体”
}
}
}
});
画布{
最小宽度:400px;
}

为了只显示20、40、60等的网格线,您可以定义
scale.ticks.stepSize:20
。要使网格线变粗,请定义
scale.gridlines.lineWidth:5,例如

请看一下下面的可运行代码段

新图表(document.getElementById('myChart'){
类型:“雷达”,
数据:{
标签:[“Fifa20”、“CS:GO”、“Dota 2”、“LOL”、“Overwatch”、“Fortnite”],
数据集:[
{
标签:“游戏”,
数据:[40,45,53,45,100,13],
背景颜色:[
“透明”,
“透明”,
“透明”,
“透明”,
“透明”,
“透明”
],
边框颜色:[
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,
“rgba(203166255,1)”,