2016-12-13 9 views
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); 
     } 
     } 
    } 
    } ] 
}); 

答えて

0

あなたのminPeriodが小さすぎます。あなたのデータは、あなたのsetTimeの計算によって分間隔であるので、ミリ秒("fff")ではなく、分("mm")に設定したいと思うでしょう。迅速な観察のため

"categoryAxis": { 
    // ... omitted 
    "minPeriod": "mm" 
    }, 

Updated fiddle

+0

感謝。実際には時々タイムスタンプ付きのデータもミリ秒単位で異なりますので、minPeriodを "fff"として追加しました。ミリ秒で単一のデータポイントを表示する方法をお勧めしますか?たとえば、[http://jsfiddle.net/arpd17uf/2/] –

+0

その場合は、categoryAxisで[equalSpacing](http://docs.amcharts.com/javascriptcharts/CategoryAxis#equalSpacing)をtrueに設定します。それに応じて軸が再調整されます。 [フィドル](http://jsfiddle.net/arpd17uf/4/) – xorspark

+0

ありがとう –

関連する問題