Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 做一些滴答声(星期天,星期六)红色_Javascript_Reactjs_Label_Chart.js_Option - Fatal编程技术网

Javascript 做一些滴答声(星期天,星期六)红色

Javascript 做一些滴答声(星期天,星期六)红色,javascript,reactjs,label,chart.js,option,Javascript,Reactjs,Label,Chart.js,Option,我试着把蜱弄成红色。但它不起作用。当标签没有标签时,标签-Sa/Su可以工作。所有标签-灰色,但当我有Su或Sa标签时,只有黑色 ticks: { fontSize: 9, fontColor: curLabels.map((item) => { if(item === 'Su' || item === 'Sa') return 'red'; return 'rgba(

我试着把蜱弄成红色。但它不起作用。当标签没有标签时,标签-Sa/Su可以工作。所有标签-灰色,但当我有Su或Sa标签时,只有黑色

   ticks: {
          fontSize: 9,
          fontColor: curLabels.map((item) => {
            if(item === 'Su' || item === 'Sa')
              return 'red';
            return 'rgba(0, 0, 0, 0.4)';
          }),
          maxRotation: 0,
        },
编辑:

  <div style={{height: '100%'}} className='position-relative'>
        <Line
          key='lineChart17'
          data={dataForChart}
          options={lineOptions}
          style={{height: '90px', padding: '5px', width: '100%'}}
          redraw
        />
      </div>

根据Chart.js文档,该选项不接受
数组
,而是简单的
字符串

但是,您可以通过以下配置定义周末节拍的样式

ticks: {
  major: {
     enabled: true,
     fontStyle: 'bold',
     fontColor: 'red'
  }
},
此外,您需要通过回调将所需的刻度标记为
major

afterBuildTicks: (scale, ticks) => {
  ticks.forEach(t => {
    const day = new Date(t.value).getDay();
    t.major = (day == 0 || day == 6);
  });
  return ticks;
}
请看下面的可运行代码片段

const dates=[];
let day=新日期('2020-01-01');
for(设i=0;i<20;i++){
推送(新日期(day.getFullYear(),day.getMonth(),day.getDate());
day.setDate(day.getDate()+1);
};
函数generateData(){
返回dates.map(d=>({x:d,y:Math.floor(Math.random()*10)+1}));
};
新图表(“myChart”{
类型:'bar',
数据:{
数据集:[{
标签:“我的数据集”,
数据:generateData(),
背景颜色:“rgba(255,99,132,0.2)”,
边框颜色:“rgb(255,99,132)”,
边框宽度:1
}        
]
},
选项:{
比例:{
xAxes:[{
对,,
键入:“时间”,
时间:{
单位:'天',
显示格式:{
日期:“dd D MMM”,
月份:“dd D MMM”
},
工具提示格式:“dd D MMM”
},
滴答声:{
少校:{
启用:对,
字体:“粗体”,
fontColor:“红色”
}
},
afterBuildTicks:(刻度,刻度)=>{
ticks.forEach(t=>{
const day=新日期(t.value).getDay();
t、 专业=(日==0 | |日==6);
});
返回滴答声;
}
}],
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的,
步长:2
}
}]
}
}
});


谢谢。我试过这个,但对我不起作用。AfterBuildTick不是固定的。但是现在我得到了一个错误:
TypeError:无法在字符串“Su”上创建属性“major”
请在图表中显示更多代码以及试图呈现的数据。
afterBuildTicks: (scale, ticks) => {
  ticks.forEach(t => {
    const day = new Date(t.value).getDay();
    t.major = (day == 0 || day == 6);
  });
  return ticks;
}