Я использую AmSerialChart
для отображения данных диаграммы. Он отлично работает, когда данные диаграммы имеют более одного значения. Если данные диаграммы имеют только одно значение, ось точки и категории не отображается. Например, в приведенном ниже коде, если я повторяю цикл for с более чем 1, точки и ось будут отображаться в порядке. Но если я установлен в 1, точка и ось не отображаются. http://jsfiddle.net/arpd17uf/Отображение диаграммы без какой-либо точки, когда доступно только одна точка
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/] –
В этом случае установите [equalSpacing] (http://docs.amcharts.com/javascriptcharts/CategoryAxis#equalSpacing) в true в вашей категории. Это будет соответствующим образом отрегулировать ось. [скрипка] (http://jsfiddle.net/arpd17uf/4/) – xorspark
Спасибо, что так прекрасно сейчас –