2017-03-01 18 views
1

amChartsを使用して積み重ねられた領域グラフを表示したいのですが、他のものも同様に動作しましたが、日付が正しく解析されませんでした。amChartsはunixtimeを読み取り可能な日付に変換します

上記データパッケージの 日付という名前のプロパティが「DD/MM/YYYY」のように読める日付に変換することができません
"dataProvider": [{ 
    "date": 1482192000, 
    "cars": 1587, 
    "motorcycles": 650, 
    "bicycles": 121 
} 

最後に、チャートは、選択された月の30日を示さなければなりません。
CodePen Stacked Area Chart

+0

amChartsは実際のJavascriptの「Date'オブジェクトが必要です。 UNIXのタイムスタンプを日付に変更してみてください:http://stackoverflow.com/questions/847185/convert-a-unix-timestamp-to-time-in-javascript – stderr

+0

@stderr - UNIXのタイムスタンプはサポートされていますが、ミリ秒 – xorspark

答えて

1

あなたのデータと設定が両方とも間違っている:
はここに私のCodePenです。ここで間違っているとdataDateFormatがそれらのフォーマットではない、文字列の日付を解析するために使用されているそれら

1)修正する方法を何のリストです。 UNIXのタイムスタンプを使用しているので、このプロパティはまったく必要ないので、削除することができます。

2)これが動作するには、あなたのUNIXタイムスタンプもミリ秒単位でなければなりません。秒はあなたに無効な時を与えるでしょう。

3)データを正しくレンダリングするには、日付を昇順にソートする必要があります。あなたのデータは現在混在しています。あなたの他の質問については

あなたの日付の書式を設定するには、described hereような所望のフォーマット文字列にあなたれるCategoryAxisにdateFormats arrayを設定する必要があります。自動的にチャートの負荷にズームする

"categoryAxis": { 
    // other properties omitted: 
    "dateFormats": [{period:'fff',format:'JJ:NN:SS'}, 
    {period:'ss',format:'JJ:NN:SS'}, 
    {period:'mm',format:'JJ:NN'}, 
    {period:'hh',format:'JJ:NN'}, 
    {period:'DD',format:'DD/MM/YYYY'}, //you may need to change the entries for 'WW' and 'MM' as well, depending on the amount of visible data 
    {period:'WW',format:'MMM DD'}, 
    {period:'MM',format:'MMM'}, 
    {period:'YYYY',format:'YYYY'}] 
    // ... 
} 

、あなたがAmChartsウェブサイト上のデモは、それをしない方法に似renderedイベントを追加することができますし、例えば、ズームのいずれかの方法を呼び出す:DD/MM/YYYYのため

"listeners": [{ 
    "event": "rendered", 
    "method": function(e) { 
    // different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues 
    e.chart.zoomToDates(new Date(2017, 1, 1), new Date(2017, 1, 15)); 
    } 
}] 

ここには前述のすべての修正コードhereが含まれています。

+0

ありがとう@xorspark、それは働いている –