Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Charts 如何在chart.js上配置我的y轴?_Charts_Chart.js - Fatal编程技术网

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

Charts 如何在chart.js上配置我的y轴?,charts,chart.js,Charts,Chart.js,我正在尝试建立一个图表 我的y轴从0开始,我不知道如何配置它,为什么它说0-我看到另一篇文章提到了scaleOverride:true,scaleStartValue:0.1,ScaleStrepWidth:5-我不知道如何在下面的代码中使用它,如何在chart.js中配置y轴 任何指针都是 我有以下代码 var barChartData = { labels: ["January", "February", "March", "April", "May", "June", "July"

我正在尝试建立一个图表

我的y轴从0开始,我不知道如何配置它,为什么它说0-我看到另一篇文章提到了scaleOverride:true,scaleStartValue:0.1,ScaleStrepWidth: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);
});

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

相关小提琴-

对于堆叠图表,Chart.js为每个堆栈(条形图)构建一个正和负和列表,然后使用该列表计算缩放最小值和最大值。如果没有负值,则负数和的列表是0的列表。这将强制缩放最小值为0



scaleStartValue、ScaleStrepWidth等是Chart.js的v1.x中的选项。您正在使用v2.x。请参阅2.x等效项。

谢谢大家的帮助,我注意到chart.js会根据您的数据自动获取y轴的值,您可以在“选项>比例”下更改y/x轴设置,我还需要更改y轴的步长并去掉x轴网格线,“刻度”是我一直在寻找的,下面是我的示例代码和实现所有这些的步骤

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

<canvas width="1393px;" height="500px;" id="stacked"></canvas>
希望这会有所帮助,作为参考,我使用了以下文档


谢谢。

嗨,谢谢回复,我确实需要堆叠,看起来Y轴会根据数据集自动取值-我如何更改Y轴从0开始,增量为1,就像我不希望Y轴为0,0.5,1,1.5,,,等等…相反,我希望是0,1,2,3,4,5…有什么办法实现吗?是的,请检查。它适用于x轴,但类似的代码也适用于y轴。是否可以为标签设置步长?或者这只是一个数字轴。像一个符咒一样工作!
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")%>;
  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,
              }

          }]
      }
      }
  });

};