取得した動的データに基づいてbackgroundColorとborderColorを設定しようとしていますが、「スコア」の数値が偶数または奇数の場合は、私はそれを達成する方法を見つけることができません。任意の提案は非常に感謝しています。backgroundColorとborderColor barchart unsing Chart.jsを動的に設定する方法
<!DOCTYPE html>
<html>
<head>
<title>ChartJS - BarGraph</title>
<style type="text/css">
#chart-container {
width: 800px;
height: 600px;
}
</style>
<!-- javascript -->
<script type="text/javascript" src="jquery-1.11.min.js"></script>
<script type="text/javascript" src="Chart.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
//url: "test.html",
//method: "GET",
success: function(data) {
// test data
var data = [
{
"Serverid":"1",
"score":"37"
},
{
"Serverid":"2",
"score":"60"
},
{
"Serverid":"3",
"score":"35"
},
{
"Serverid":"4",
"score":"41"
},
{
"Serverid":"5",
"score":"50"
},
{
"Serverid":"6",
"score":"70"
}
// ... it can be more than that
];
var Server = [];
var score = [];
for(var i in data) {
Server.push("Server " + data[i].Serverid);
score.push(data[i].score);
}
var chartdata = {
labels: Server,
datasets : [
{
label: 'Score I',
backgroundColor: [
// even color
'rgba(255, 99, 132, 0.2)',
// odd color
'rgba(75, 192, 192, 0.2)'
],
borderColor: [
// even color
'rgba(255,99,132,1)',
// odd color
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
hoverBorderColor: 'rgba(200, 200, 200, 1)',
data: score
}
]
};
var ctx = $("#mycanvas");
var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
}, // end success
error: function(data) {
console.log(data);
alert(data);
}
}); // end ajax
});
</script>
</head>
<body>
<br> Test Bar 3 <br>
<div id="chart-container">
<canvas id="mycanvas"></canvas>
</div>
</body>
</html>
ありがとう!
こんにちはJordan、あなたが投稿したコードで投稿したコードをどのように実装できるかはわかりません。私は私が必要とするすべてのデータをプッシュしますchardata varではチャットの属性を設定し、barGraphではYAxesを0から始めるように設定しました。あなたの "getData()あなたの応答! – Maresia
実際には非常に単純です。修正された答えを参照してください – jordanwillis
これはうまくいきました! "ラベル"の値に奇妙な問題がありました: "日付": "2015-11-01 21 :00:05.423 "、それはそのバーの下に最初のものを表示し、次のものをスキップするなど何かアイデア?ありがとうございました! – Maresia