0
私はAmSerialChart
を使用してチャートデータを表示しています。チャートデータに複数の値がある場合は、正常に動作しています。チャートデータに値が1つしかない場合、ポイントとカテゴリの軸は表示されません。たとえば、以下のコードで、forループを2回以上繰り返すと、ポイントと軸がうまく表示されます。しかし、1に設定すると、ポイントと軸は表示されません。 http://jsfiddle.net/arpd17uf/チャートは1つのポイントしか利用できないときにポイントなしで表示されます
var chartData = generatechartData();
function generatechartData() {
var chartData = [];
var firstDate = new Date();
for (var i = 0; i < 1; i++) {
var newDate = new Date(firstDate);
newDate.setTime(newDate.getTime() + (i * 60 * 1000));
var visits = Math.round(Math.random() * 90 - 45);
chartData.push({
date: newDate,
visits: visits
});
}
return chartData;
}
var chart = AmCharts.makeChart("chartdiv", {
"theme": "light",
"type": "serial",
"dataProvider": chartData,
"dataDateFormat": "YYYY-MM-DD JJ:NN:SS",
"valueAxes": [ {
"inside": true,
"axisAlpha": 0
} ],
"graphs": [ {
"id": "g1",
"balloonText": "<div style='margin:5px; font-size:19px;'><span style='font-size:13px;'>[[category]]</span><br>[[value]]</div>",
"bullet": "round",
"bulletBorderAlpha": 1,
"bulletBorderColor": "#FFFFFF",
"hideBulletsCount": 50,
"lineThickness": 2,
"lineColor": "#fdd400",
"negativeLineColor": "#67b7dc",
"valueField": "visits"
} ],
"chartScrollbar": {
},
"chartCursor": {},
"categoryField": "date",
"categoryAxis": {
"parseDates": true,
"axisAlpha": 0,
"minHorizontalGap": 55,
"dashLength": 1,
"minorGridEnabled": true,
"position": "top",
"minPeriod": "fff"
},
"listeners": [ {
"event": "dataUpdated",
"method": function() {
if (chart) {
if (chart.zoomToIndexes) {
chart.zoomToIndexes(130, chartData.length - 1);
}
}
}
} ]
});
感謝。実際には時々タイムスタンプ付きのデータもミリ秒単位で異なりますので、minPeriodを "fff"として追加しました。ミリ秒で単一のデータポイントを表示する方法をお勧めしますか?たとえば、[http://jsfiddle.net/arpd17uf/2/] –
その場合は、categoryAxisで[equalSpacing](http://docs.amcharts.com/javascriptcharts/CategoryAxis#equalSpacing)をtrueに設定します。それに応じて軸が再調整されます。 [フィドル](http://jsfiddle.net/arpd17uf/4/) – xorspark
ありがとう –