2017-09-18 2 views
2

J'ai besoin de commencer à l'échelle du graphique à barres en valeurs négatives, j'utilise Chart Js en version 2.7.0.Graphique Js Échelle négative

le tableau doit aller de -10 à 100.

image Exemple:

enter image description here

il est possible?

var canvas = document.getElementById('myChart'); 
 
var data = { 
 
    labels: ["Test"], 
 
    datasets: [ 
 
     { 
 
      label: "-10 to 100", 
 
      backgroundColor: "rgba(255,99,132,0.2)", 
 
      borderColor: "rgba(255,99,132,1)", 
 
      borderWidth: 2, 
 
      hoverBackgroundColor: "rgba(255,99,132,0.4)", 
 
      hoverBorderColor: "rgba(255,99,132,1)", 
 
      data: [100], 
 
     } 
 
    ] 
 
}; 
 
var option = { 
 
\t scales: { 
 
    \t yAxes:[{ 
 
    \t \t stacked:true, 
 
     gridLines: { 
 
     \t display:true, 
 
      color:"rgba(255,99,132,0.2)" 
 
     } 
 
    }], 
 
    xAxes:[{ 
 
    \t \t gridLines: { 
 
     \t display:false 
 
     } 
 
    }] 
 
    } 
 
}; 
 

 
var myBarChart = Chart.Bar(canvas,{ 
 
\t data:data, 
 
    options:option 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.0/Chart.bundle.js"></script> 
 
<canvas id="myChart" width="400" height="200"></canvas>

jsFiddle: https://jsfiddle.net/LilNawe/Luaf2tm4/636/

Répondre

0

En utilisant RGraph (https://www.rgraph.net), vous pouvez le faire comme cette démo fait:

https://www.rgraph.net/demos/bar-offset-x-axis.html

est ici le code de cette page:

new RGraph.Bar({ 
    id: 'cvs', 
    data: [14,16,68,-9,-6,40,36], 
    options: { 
     labels: ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'], 
     unitsPost: '%', 
     shadow: false, 
     colors: ['red'], 
     strokestyle: 'rgba(0,0,0,0)', 
     textSize: 10, 
     title: 'A Bar chart with an offset X axis', 
     numyticks: 11, 
     gutterLeft: 50, 
     scaleZerostart: true, 
     ymin: -10, 
     ymax: 100, 
     backgroundGridVlines: false, 
     backgroundGridAutofitNumhlines: 11, 
     backgroundGridBorder: false, 
     ylabelsCount: 11 
    } 
}).draw(); 
+0

J'utilise graphique JS. – nawelittle

+0

Juste une alternative si vous étiez agnostique. – Richard

2

Salut, vous pouvez essayer ceci: vous pouvez définir la valeur min ou max par le passage d'un objet à tick propriété.

Pour plus de détails s'il vous plaît visitez ce lien: http://www.chartjs.org/docs/latest/axes/radial/linear.html#tick-options

var option = { 
    scales: { 
    yAxes:[{ 
      stacked:true, 
     gridLines: { 
      display:true, 
      color:"rgba(255,99,132,0.2)" 
     }, 
     ticks: { 
      suggestedMax: 100, 
      suggestedMin: -10 
     } 
    }], 
    xAxes:[{ 
      gridLines: { 
      display:false 
     } 
    }] 
    } 
};