You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为react-chartjs-2 v4.0.0图表配置多个X轴标签

问题根因

你使用的Chart.js v3.x版本废弃了v2版本的options.scales.xAxes/yAxes数组写法,你当前套用的是旧版本配置语法,该问题和react-chartjs-2封装无关,react-chartjs-2的配置规则完全对齐你引入的原生Chart.js版本。

需要修改的核心配置点

  • 移除xAxes、yAxes数组,将每个坐标轴直接作为scales的属性,属性名即为轴id,同时给x轴添加axis: 'x'属性,y轴添加axis: 'y'属性
  • 原gridLines配置项在v3中已更名为grid

修改后可运行的完整代码

import React from 'react'
import { Bar } from 'react-chartjs-2';
import 'chart.js/auto';

const TaskProgress3 = () => {
    const data = {
      labels: ["January;2015", "February;2015", "March;2015", "January;2016", "February;2016", "March;2016"],
      datasets: [{
        id: 1,
        label: '# of Votes',
        xAxisID:'xAxis1',
        data: [12, 19, 3, 5, 2, 3]
      }]
    };

    const options = {
      scales:{
        xAxis1: {
          id:'xAxis1',
          type: "category",
          axis: 'x',
          ticks:{
            callback:function(label){
              var month = label.split(";")[0];
              return month;
            }
          }
        },
        xAxis2: {
          id:'xAxis2',
          type: "category",
          axis: 'x',
          grid: {
            drawOnChartArea: false,
          },
          ticks:{
            callback:function(label){
              var month = label.split(";")[0];
              var year = label.split(";")[1];
              if(month === "February"){
                return year;
              }else{
                return "";
              }
            }
          }
        },
        y: {
          ticks:{
            beginAtZero:true
          }
        }
      }
    };

    return (
        <>
        <div>Bar Chart</div>
        <Bar
          datasetIdKey='id'
          data={data}
          options={options}
          height="100px"
          width="600px"
          />
        </>
    )
}

export default TaskProgress3;

内容的提问来源于stack exchange,提问作者Jeff Froula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:06:01