2015-06-03 11 views

Antwort

2

Ich glaube, du bist für so etwas wie dieses

Fiddle

HTML

<canvas id="myChart" width="500" height="250"></canvas> 

JS

var data = { 
    labels: ["January", "February", "March", "April", "May", "June", "July", "August"], 
    datasets: [ 
     { 
      data: [65, 59, 80, 81, 56, 55, 40, -30] 
     } 
    ] 
}; 

var options = { 
    scaleBeginAtZero: false 
}; 

var ctx = document.getElementById("myChart").getContext("2d"); 
var myBarChart = new Chart(ctx).Bar(data, options); 
+0

Ich glaube du meintest '{scaleBeginAtZero: true}', was teilweise den gewünschten Effekt ergibt. Die y-Achse beginnt jedoch nicht unter -30. Wenn ich 'Optionen = {scaleOverride: true, scaleStartValue: -50, scaleStepWidth: 50, scaleSteps: 3, scaleBeginAtZero: true,}' probiert habe, dann sperrt die gesamte Feder wieder von unten. – user1860288

1

suchen Sie können uns e d3.js für das beabsichtigte Verhalten. Here ist ein guter Beitrag diesbezüglich. Oder Sie können auch dieser article Feinabstimmung des Plotkit-Diagramms folgen, um den nach unten gerichteten negativen Balken anzuzeigen.

Um es mit chart.js funktioniert (wenn auch nicht ratsam, da diese nicht in Chart.js unterstützt wird) Sie dieses Github können pull und stattdessen die globale Konfigurationsobjekt zu verwenden, dh Einstellung:

Chart.defaults.global.responsive = true; 
Chart.defaults.global.scaleBeginAtZero = false; 
Chart.defaults.global.barBeginAtOrigin = false, 
Chart.defaults.global.animation = false; 

verwenden ein separates Config Objekt und gibt es in den Chart-Konstruktor:

var chartOptions = { 
    responsive:true, 
    scaleBeginAtZero:false, 
    barBeginAtOrigin:true 
} 
var chartInstance = new Chart(ctx).Bar(myChartData, chartOptions); 
23

die anderen Antworten nicht für mich arbeiten. Allerdings habe ich eine andere Konfigurationsoption gefunden, die für mich funktioniert hat.

var options = { 
    // All of my other bar chart option here 
    scales: { 
     yAxes: [{ 
      ticks: { 
       beginAtZero:true 
      } 
     }] 
    } 
} 
var ctx = document.getElementById("myChart").getContext("2d"); 
var myBarChart = new Chart(ctx).Bar(data, options); 

Passing dies für meine Chart Optionen geben Sie mir ein Balkendiagramm mit der Skala beginnend bei 0.

+2

Danke! Dies sollte die akzeptierte Antwort sein. –

1

I 2.0.2 Chart.js Version bin mit und diese yAxes.min Verwendung erreicht werden könnte, und wenn das Diagramm ist leer Sie yAxes.suggestedMax

Beispiel verwenden:

options:{ 
    . 
    . 
    . 
    scales{ 
     yAxes:[{ 
      min:0, 
      //this value will be overridden if the scale is greater than this value 
      suggestedMax:10 
     }] 
    } 
-1
public barChartOptions: any = { 
    scales: { 
     yAxes: [{ 
      ticks: { 
       beginAtZero: true} 
      }] 
     }, 
    } 
Verwandte Themen