Em Chart.js definir o título do gráfico, o nome do eixo xey do eixo y?

87

O Chart.js ( documentação ) tem opção para conjuntos de dados para definir o nome (título) do gráfico (por exemplo, Temperatura em minha cidade), nome do eixo x (por exemplo, Dias) e nome do eixo y (por exemplo, Temperatura). Ou devo resolver isso com css?

var lineChartData = {
    labels : ["January","February","March","April","May","June","July"],
    datasets : [
        {
            fillColor : "rgba(220,220,220,0.2)",
            strokeColor : "rgba(220,220,220,1)",
            pointColor : "rgba(220,220,220,1)",
            pointStrokeColor : "#fff",
            pointHighlightFill : "#fff",
            pointHighlightStroke : "rgba(220,220,220,1)",
            data : [data]
        }
    ]

}

Muito obrigado pela ajuda.

DaniKR
fonte
Para a referência - stackoverflow.com/a/38299304/1374554
Jaison

Respostas:

210

No Chart.js versão 2.0, é possível definir rótulos para eixos:

options = {
  scales: {
    yAxes: [{
      scaleLabel: {
        display: true,
        labelString: 'probability'
      }
    }]
  }     
}

Consulte a documentação de rotulagem para obter mais detalhes.

andyhasit
fonte
sim, o sytax está funcionando bem, mesmo depois de convertê-lo nas opções da biblioteca de gráficos laravel. Muito obrigado, estive procurando a sintaxe correta e consegui
Manojkiran.A
10

Se você já definiu rótulos para seu eixo, como @andyhasit e @Marcus mencionaram, e gostaria de alterá-lo posteriormente, você pode tentar isto:

chart.options.scales.yAxes[ 0 ].scaleLabel.labelString = "New Label";

Configuração completa para referência:

var chartConfig = {
    type: 'line',
    data: {
      datasets: [ {
        label: 'DefaultLabel',
        backgroundColor: '#ff0000',
        borderColor: '#ff0000',
        fill: false,
        data: [],
      } ]
    },
    options: {
      responsive: true,
      scales: {
        xAxes: [ {
          type: 'time',
          display: true,
          scaleLabel: {
            display: true,
            labelString: 'Date'
          },
          ticks: {
            major: {
              fontStyle: 'bold',
              fontColor: '#FF0000'
            }
          }
        } ],
        yAxes: [ {
          display: true,
          scaleLabel: {
            display: true,
            labelString: 'value'
          }
        } ]
      }
    }
  };
Sahil Gandhi
fonte
4

apenas use isto:

<script>
  var ctx = document.getElementById("myChart").getContext('2d');
  var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
      labels: ["1","2","3","4","5","6","7","8","9","10","11",],
      datasets: [{
        label: 'YOUR LABEL',
        backgroundColor: [
          "#566573",
          "#99a3a4",
          "#dc7633",
          "#f5b041",
          "#f7dc6f",
          "#82e0aa",
          "#73c6b6",
          "#5dade2",
          "#a569bd",
          "#ec7063",
          "#a5754a"
        ],
        data: [12, 19, 3, 17, 28, 24, 7, 2,4,14,6],            
      },]
    },
    //HERE COMES THE AXIS Y LABEL
    options : {
      scales: {
        yAxes: [{
          scaleLabel: {
            display: true,
            labelString: 'probability'
          }
        }]
      }
    }
  });
</script>
no.name.added
fonte
Estou usando Chart_2.5.0.min.js, você pode obtê-lo aqui: cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js
no.name.added
0
          <Scatter
            data={data}
            // style={{ width: "50%", height: "50%" }}
            options={{
              scales: {
                yAxes: [
                  {
                    scaleLabel: {
                      display: true,
                      labelString: "Probability",
                    },
                  },
                ],
                xAxes: [
                  {
                    scaleLabel: {
                      display: true,
                      labelString: "Hours",
                    },
                  },
                ],
              },
            }}
          />
Fakabbir Amin
fonte