Http://www.chartjs.org/ adresinden çizgi grafik kullanıyorum

Y ekseni için maksimum değer (130) ve min değeri (60) otomatik olarak seçildiğinden görebileceğiniz gibi max değeri = 500 ve min değeri = 0 istiyorum. Mümkün mü?
Http://www.chartjs.org/ adresinden çizgi grafik kullanıyorum

Y ekseni için maksimum değer (130) ve min değeri (60) otomatik olarak seçildiğinden görebileceğiniz gibi max değeri = 500 ve min değeri = 0 istiyorum. Mümkün mü?
Yanıtlar:
Ölçeği geçersiz kılmanız gerekir, şunu deneyin:
window.onload = function(){
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
scaleOverride : true,
scaleSteps : 10,
scaleStepWidth : 50,
scaleStartValue : 0
});
}
Chart.js V2 (beta) için şunları kullanın:
var options = {
scales: {
yAxes: [{
display: true,
ticks: {
suggestedMin: 0, // minimum will be 0, unless there is a lower value.
// OR //
beginAtZero: true // minimum value will be 0.
}
}]
}
};
Görmek fazla ayrıntı için doğrusal eksen yapılandırmasıyla ilgili chart.js belgelerine bakın.
min, maxve stepsizeniteliklerini ticksad
suggestedMaxen yüksek değer için
var config = {
type: 'line',
data: {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: "My First dataset",
data: [10, 80, 56, 60, 6, 45, 15],
fill: false,
backgroundColor: "#eebcde ",
borderColor: "#eebcde",
borderCapStyle: 'butt',
borderDash: [5, 5],
}]
},
options: {
responsive: true,
legend: {
position: 'bottom',
},
hover: {
mode: 'label'
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Month'
}
}],
yAxes: [{
display: true,
ticks: {
beginAtZero: true,
steps: 10,
stepValue: 5,
max: 100
}
}]
},
title: {
display: true,
text: 'Chart.js Line Chart - Legend'
}
}
};
var ctx = document.getElementById("canvas").getContext("2d");
new Chart(ctx, config);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.1/Chart.bundle.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<canvas id="canvas"></canvas>
</body>
Grafik JS v2.4.0
2017'nin 7 Şubat'taki https://github.com/jtblin/angular-chart.js adresindeki örneklerde gösterildiği gibi (bu, sık sık değişime maruz kaldığı için):
var options = {
yAxes: [{
ticks: {
min: 0,
max: 100,
stepSize: 20
}
}]
}
Bu, aşağıdaki gibi 5 y ekseni değeri ile sonuçlanır:
100
80
60
40
20
0
xAxesve seçeneklerin yAxesaltında iç içe olması gerekiyordu scales. Bu da Ofer Sergev'in doğru gibi görünen cevabından daha yeni.
Bunu 2016 yılında yazarken, Grafik js 2.3.0 en sonuncusu. Biri nasıl değiştirebilir
var options = {
scales: {
yAxes: [{
display: true,
stacked: true,
ticks: {
min: 0, // minimum value
max: 10 // maximum value
}
}]
}
};
window.onload = function(){
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx ,{
type: 'line',
data: yourData,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true,
min: 0,
max: 500
}
}]
}
}
});
V2'de 'seçenekler' ile yapılandırıyorum.
Belgeleri okumalısınız: http://www.chartjs.org/docs/#scales-linear-scale
Ben 20 bir boşluk ile y ekseni 0 ila 100 değerleri görüntülemek için bir js yazdı.
Bu benim script.js
//x-axis
var vehicles = ["Trucks", "Cars", "Bikes", "Jeeps"];
//The percentage of vehicles of each type
var percentage = [41, 76, 29, 50];
var ctx = document.getElementById("barChart");
var lineChart = new Chart(ctx, {
type: 'bar',
data: {
labels: vehicles,
datasets: [{
data: percentage,
label: "Percentage of vehicles",
backgroundColor: "#3e95cd",
fill: false
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
min: 0,
max: 100,
stepSize: 20,
}
}]
}
}
});
Bu, web üzerinde görüntülenen grafiktir.
> En İyi Çözüm
"options":{
scales: {
yAxes: [{
display: true,
ticks: {
suggestedMin: 0, //min
suggestedMax: 100 //max
}
}]
}
}
yAxes: [{
display: true,
ticks: {
beginAtZero: true,
steps:10,
stepValue:5,
max:100
}
}]
Bu Charts.js 2.0 içindir:
Bunlardan bazılarının çalışmamasının nedeni, grafiğinizi şu şekilde oluştururken seçeneklerinizi bildirmeniz gerektiğidir:
$(function () {
var ctxLine = document.getElementById("myLineChart");
var myLineChart = new Chart(ctxLine, {
type: 'line',
data: dataLine,
options: {
scales: {
yAxes: [{
ticks: {
min: 0,
beginAtZero: true
}
}]
}
}
});
})
Bunun için belgeler burada: http://www.chartjs.org/docs/#scales
1.1.1 ile, ölçeği 0.0 ile 1.0 arasında düzeltmek için aşağıdakileri kullandım:
var options = {
scaleOverride: true,
scaleStartValue: 0,
scaleSteps: 10,
scaleStepWidth: 0.1
}
Benim durumumda, yaxis kenelerinde bir geri arama kullandım, değerlerim yüzde ve% 100'e ulaştığında noktayı göstermiyor, bunu kullandım:
yAxes: [{
ticks: {
beginAtZero: true,
steps: 10,
stepValue: 5,
max: 100.1,
callback: function(value, index, values) {
if (value !== 100.1) {
return values[index]
}
}
}
}],
Ve iyi çalıştı.
Yukarıdaki önerilerin hiçbiri charts.js 2.1.4 ile bana yardımcı olmadığından, veri kümesi dizime 0 değerini ekleyerek çözdüm (ancak ekstra etiket yok):
statsData.push(0);
[...]
var myChart = new Chart(ctx, {
type: 'horizontalBar',
data: {
datasets: [{
data: statsData,
[...]
Düz laboratuvar şablonunun eski bir sürümünü, emin olmadığım chart.js'nin v1.x'ini kullanan birden fazla projemde kullanıyordum. . Yukarıda bahsedilen(bardata,options) benim için çalışmıyor.
İşte sürüm 1.x için hack
calculatedScale = calculateScale(scaleHeight,valueBounds.maxSteps,valueBounds.minSteps,valueBounds.maxValue,valueBounds.minValue,labelTemplateString);
Şununla değiştir:
calculatedScale = calculateScale(scaleHeight,valueBounds.maxSteps,1,valueBounds.maxValue,0,labelTemplateString);
Grafikte "min" ve "max" değerleri var. Bu bağlantıdaki belgeler
https://www.chartjs.org/docs/latest/axes/cartesian/linear.html
scales. 2.x sürümlerindeki nesne oldukça farklıdır. Aşağıdaki @OferSegev yanıtına ve 2.x belgelerine bakın .