繁体   English   中英

如何在chart.js上配置我的y轴?

[英]How can configure my y-axis on chart.js?

我正在尝试构建图形。

我的y轴在这里以0开头,我不知道如何配置它以及为什么它在说0 - 我看到其他帖子提到了scaleOverride:true,scaleStartValue:0.1,scaleStepWidth:5 - 我不知道怎么用在我的在代码下面,如何在chart.js中配置y轴。

任何指针都是

我有以下代码

var barChartData = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [{
        label: 'Dataset 1',
        backgroundColor: "rgba(220,220,220,0.5)",
        data: [6, 6, 6, 8, 6, 9, 8]
    }]
};
function barChart() {
    var context = document.getElementById('stacked').getContext('2d');
    var myBar = new Chart(context, {
        type: 'bar',
        data: barChartData,
        options: {
            title:{
                display:true,
                text:"Chart.js Bar Chart - Stacked"
            },
            tooltips: {
                mode: 'label'
            },
            responsive: true,
            scales: {
                xAxes: [{
                    stacked: true,
                }],
                yAxes: [{
                    stacked: true
                }]
            }
        }
    });
};
$(document).ready(function() {
    $(document).ready(barChart);
});

谢谢大家帮忙,我观察到chart.js会根据你的数据自动获取y轴的值,你可以在Options> Scales下更改y / x轴设置,我还需要改变y轴的步长并且摆脱了x轴网格线,“ticks”是我正在寻找的东西,这是我的示例代码和实现所有这些的步骤。

步骤1)Canvas这是占位符,您的图表将显示在JSP上

<canvas width="1393px;" height="500px;" id="stacked"></canvas>

步骤2)创建样本数据集(这是您需要根据您的要求创建的JSON,但请确保您提供与下面给出的完全相同的格式化JSON响应以及您的数据。

var barChartData = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
    label: 'Dataset 1',
    backgroundColor: "red",
    data: [9, 6, 6, 8, 6, 9, 8]
},
{
    label: 'Dataset 1',
        backgroundColor: "rgba(225,226,228,0.5)",
        data: [9, 6, 6, 8, 6, 9, 8]
    }]
};

or you can call JSON from controller inside script as below

var jsonArry = <%=request.getAttribute("jsonArry")%>;

步骤3)调用您在步骤2中创建的JSON

  function barChart(){
          var context = document.getElementById('stacked').getContext('2d');
          var myBar = new Chart(context, {
          type: 'bar',
          data: jsonArry,

  options: {
         tooltips: {
          mode: 'label'
      },
      responsive: true,
      scales: {
          xAxes: [{
              ticks:{
                  stepSize : 10,

              },
              stacked: true,
            gridLines: {
                    lineWidth: 0,
                    color: "rgba(255,255,255,0)"
                }
          }],
          yAxes: [{

              stacked: true,
               ticks: {
                  min: 0,
                  stepSize: 1,
              }

          }]
      }
      }
  });

};

希望这会有所帮助,作为参考,我使用了以下文档Chart JS

谢谢。

只需删除stacked选项,它将从0开始停止(除非您的数据从0开始)。

相关小提琴 - http://jsfiddle.net/rsyk9he0/

对于堆叠图表,Chart.js为每个堆栈(bar)构建正负和的列表,然后使用它来计算出最小值和最大值。 如果没有负值,则负和列表是0的列表。 这会迫使刻度min为0。


scaleStartValue,scaleStepWidth等是Chart.js的v1.x中的选项。 您正在使用v2.x. 有关2.x等效 ,请参见如何在Chartjs中进行整数比例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM