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