【问题标题】:Chart.js 3.5.1 Attribute question about zeroLineColorChart.js 3.5.1 关于zeroLineColor的属性问题
【发布时间】:2021-09-27 13:36:21
【问题描述】:

希望有人能帮忙!我正在使用 chart.js 3.5.1 并考虑了一个特定的图表。但是,网上的很多文档都是针对看似旧版本的 chart.js。我需要一个简单的折线图,其中 y 轴上的数据均高于和低于零。为了强调这一点,我想在 0 上画一条更暗的轴线,所有在线资料都建议我可以使用 zeroLineColor。但是,新版本的 chart.js 似乎并不支持这一点。所有在线材料都使用 xAxis:[] 和 yAxis:[],而我的只是使用 x:{} 和 y:{},这让我认为 zeroLinecolor 属性已被弃用,如果可以的话,可以实现我的要求另一种方式?

干杯

【问题讨论】:

    标签: chart.js


    【解决方案1】:

    您可以为此使用可编写脚本的选项:

    var options = {
      type: 'line',
      data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            borderWidth: 1
          },
          {
            label: '# of Points',
            data: [7, 11, 5, 8, 3, 7],
            borderWidth: 1
          }
        ]
      },
      options: {
        scales: {
          y: {
            grid: {
              color: (ctx) => (ctx.index === 0 ? 'black' : 'rgba(0, 0, 0, 0.1)')
            }
          }
        }
      }
    }
    
    var ctx = document.getElementById('chartJSContainer').getContext('2d');
    new Chart(ctx, options);
    <body>
      <canvas id="chartJSContainer" width="600" height="400"></canvas>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script>
    </body>

    【讨论】:

    • 哈哈,谢谢伙计 - 刚刚发现我自己 :D 它正在驱使我绕弯试图让它发挥作用!非常感谢您回答中更优雅的代码:)
    【解决方案2】:

    我终于找到答案了!如果它对任何人有用,那么您需要向网格添加一个可编写脚本的组件:

              grid: {
                color: context => context.tick.value == 0 ? '#555555' : '#CCCCCC'
              }
    

    【讨论】:

    • 零线刻度的值不会一直为0,最好使用行的索引
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多