Hoe stel ik de titel van de ChartJS Y-as in?

Ik gebruik Chartjsvoor het weergeven van diagrammen en ik moet de titel van de y-as instellen, maar er is geen informatie daarover in documentatie.

Ik wil dat de y-as wordt ingesteld zoals op de afbeelding, of bovenop de y-as, zodat iemand nu kan bepalen wat die parameter is

Ik heb op de officiële website gekeken, maar er was geen informatie over


Antwoord 1, autoriteit 100%

In Chart.js versie 2.0 is dit mogelijk:

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

Zie bijllabeldocumentatievoor meer details.


Antwoord 2, autoriteit 18%

Raadpleeg voor Chart.js 2.x het antwoord van andyhasit – https://stackoverflow.com/a/36954319/360067

Voor Chart.js 1.x kun je de opties aanpassen en het grafiektype uitbreiden om dit te doen, zoals zo

Chart.types.Line.extend({
    name: "LineAlt",
    draw: function () {
        Chart.types.Line.prototype.draw.apply(this, arguments);
        var ctx = this.chart.ctx;
        ctx.save();
        // text alignment and color
        ctx.textAlign = "center";
        ctx.textBaseline = "bottom";
        ctx.fillStyle = this.options.scaleFontColor;
        // position
        var x = this.scale.xScalePaddingLeft * 0.4;
        var y = this.chart.height / 2;
        // change origin
        ctx.translate(x, y);
        // rotate text
        ctx.rotate(-90 * Math.PI / 180);
        ctx.fillText(this.datasets[0].label, 0, 0);
        ctx.restore();
    }
});

het zo noemen

var ctx = document.getElementById("myChart").getContext("2d");
var myLineChart = new Chart(ctx).LineAlt(data, {
    // make enough space on the right side of the graph
    scaleLabel: "          <%=value%>"
});

Let op de spatie voorafgaand aan de labelwaarde, dit geeft ons ruimte om het y-aslabel te schrijven zonder te veel te rommelen met de interne onderdelen van Chart.js


Fiddle – http://jsfiddle.net/wyox23ga/


voer hier de afbeeldingsbeschrijving in


Antwoord 3, autoriteit 12%

Voor x- en y-assen:

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

Antwoord 4, autoriteit 7%

chart.js ondersteunt dit door standaard de link te controleren.
chartjs

u kunt het label instellen in het options attribuut.

opties-object ziet er als volgt uit.

options = {
            scales: {
                yAxes: [
                    {
                        id: 'y-axis-1',
                        display: true,
                        position: 'left',
                        ticks: {
                            callback: function(value, index, values) {
                                return value + "%";
                            }
                        },
                        scaleLabel:{
                            display: true,
                            labelString: 'Average Personal Income',
                            fontColor: "#546372"
                        }
                    }   
                ]
            }
        };

Antwoord 5, autoriteit 5%

Voor Chart.js 3.x

options: {
  scales: {
    y: {
      title: {
        display: true,
        text: 'Y axis title'
      }
    }
  }
}

Antwoord 6, autoriteit 3%

Voor mij werkt het als volgt:

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

Antwoord 7, autoriteit 2%

Overweeg het gebruik van de transform:rotate(-90deg)-stijl op een element.
Zie http://www.w3schools.com/cssref/css3_pr_transform.asp

Voorbeeld,
In je css

.verticaltext_content {
  position: relative;
  transform: rotate(-90deg);
  right:90px;   //These three positions need adjusting
  bottom:150px; //based on your actual chart size
  width:200px;
}

Voeg een spatie-fudge-factor toe aan de schaal van de Y-as, zodat de tekst ruimte heeft om in uw javascript weer te geven.

scaleLabel: "      <%=value%>"

Vervolgens in je html na je diagram canvas iets als…

<div class="text-center verticaltext_content">Y Axis Label</div>

Het is niet de meest elegante oplossing, maar werkte goed toen ik een paar lagen had tussen de html- en de grafiekcode (waarbij ik een hoekdiagram gebruikte en geen broncode wilde veranderen).

Other episodes