Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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 Chart.js Y轴标签,反向工具提示顺序,缩短X轴标签_Javascript_Jquery_Chart.js_Chart.js2 - Fatal编程技术网

Javascript Chart.js Y轴标签,反向工具提示顺序,缩短X轴标签

Javascript Chart.js Y轴标签,反向工具提示顺序,缩短X轴标签,javascript,jquery,chart.js,chart.js2,Javascript,Jquery,Chart.js,Chart.js2,我正在使用chart.js创建堆叠条形图。但是,我在文档中找不到如何更改某些内容 如何在Y轴上添加标签 如何缩短X轴上的标签,使其仅显示 前10个字母 如何颠倒中显示值的顺序 工具提示 这些事情有可能实现吗 我已标记了我要更改的内容 下面是我的图表选项现在的样子: var ctx = $("#newchart"); var barGraph = new Chart(ctx, { type: 'bar', data:

我正在使用chart.js创建堆叠条形图。但是,我在文档中找不到如何更改某些内容

  • 如何在Y轴上添加标签
  • 如何缩短X轴上的标签,使其仅显示 前10个字母
  • 如何颠倒中显示值的顺序 工具提示
  • 这些事情有可能实现吗

    我已标记了我要更改的内容

    下面是我的图表选项现在的样子:

            var ctx = $("#newchart");
    
            var barGraph = new Chart(ctx, {
                type: 'bar',
                data: chartdata,
                options: {
                    barValueSpacing: 20,
                    tooltips: {
                        enable: true,
                        mode: 'label',
                        callbacks: {
                            label: function(tooltipItem, data){
                                var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || '';
                                return datasetLabel + ': ' + Number(tooltipItem.yLabel) + ' Users';
                            }
                        }
                    },
                    responsive: true,
                    segmentShowStroke: true,
                    scales: {
                        xAxes: [{
                            display: false,
                            stacked: true,
                            ticks:{
                                stepSize : 10,
                            },
                            gridLines: {
                                lineWidth: 0,
                                color: "#9E9E9E"
                            }
                        }],
                        yAxes: [{
                            stacked: true,
                            ticks: {
                                min: 0,
                                stepSize: 10,
                            },
                            gridLines: {
                                lineWidth: 0,
                                color: "#9E9E9E"
                            }
                        }]
                    }
                }
            });
    
    1

    yAxes
    对象中,给它一个
    scaleLabel
    对象,该对象接受
    labelString
    ()

    2

    为此,可以将
    userCallback
    函数传递给xAxis ticks对象,该对象可以返回所需的输出。函数将在其第一个参数中接受原始标签,因此您只需返回所需长度的子字符串

    3

    tooltips
    对象接受一个名为
    itemSort
    的函数,该函数可以传递给
    Array.prototype.sort

    因此,您可以像下面这样做,但是您可能还需要比较objects索引和datasetIndex以获得所需的结果。()

    yAxes: [{
        scaleLabel: {
          labelString: 'Value'
        }
     }]
    
     xAxes: [{
        ticks: {
          userCallback: function(label, index, labels) {
            if(typeof label === "string")
            {
             return label.substring(0,1)
            }
            return label;
    
          },
        }
      }],
    
    tooltips: {
      mode: 'label',
      itemSort: function(a, b) {
        return b.datasetIndex - a.datasetIndex
      },
    
    },