2016-07-19 7 views
0

ich eine c3 Zeitdiagramm mit der folgenden Konfiguration haben:C3 JS - Zeitreihe tick kehrt das Format

const labels = ['labels', 
    ...map(
    (d) => d.format('L'), 
    pluck('date')(data) 
) 
] 
const initial = [ 
    labels, 
    [facetName, ...pluck('count')(data)] 
] 
const settings = { 
    axis: { 
    x: { 
     tick: { 
     multiline: false, 
     rotate: 75, 
     }, 
     type: 'timeseries' 
    }, 
    y: { 
     tick: { 
     format: d3.format(',') 
     } 
    } 
    }, 
    bar: {width: { ratio: 0.5 }}, 
    data: { 
    colors: {x: 'rgb(185, 221, 147)'}, 
    columns: initial, 
    type: 'bar', 
    x: 'labels', 
    xFormat: '%m/%d/%Y' 
    }, 
    grid: {y: { show: true }}, 
    legend: { show: false } 
} 

Idealerweise sollten die Etiketten als 1/1/2000 angezeigt, am Ende wird. Stattdessen kommen sie jedoch als 2000/1/1 heraus. Was fehlt mir bei der Formatierung?

Antwort

0

Verwenden Sie stattdessen die Option format in der Achsdeklaration. http://c3js.org/reference.html#axis-x-tick-format

heißt

axis: { 
    x: { 
      tick: { 
      multiline: false, 
      rotate: 75, 
      format: '%d/%m/%Y', // NEW LINE 
      }, 
      type: 'timeseries' 
     }, 
    ... etc 
+0

Dadurch gibt 'fehlgeschlagen x '1/1/2000' to Date analysieren object.' –

+0

Es ist sehr empfindlich auf das Format der Originaldaten. Handelt es sich um ein Datumsobjekt, das das 'Datum' des Rupfens zurückgibt, oder um eine Zeichenkette, und in welchem ​​Fall wird das Format zurückgegeben? Was passiert, wenn Sie die ursprüngliche 'xFormat'-Zeile auskommentieren, um einen schnellen Reparaturversuch zu starten? – mgraham

+0

Die von 'pluck' zurückgegebenen Werte sind nur Zeichenfolgen im angegebenen Format: '1/1/2000'. Wenn Sie das 'xFormat' entfernen, während Sie das' format' auf dem Häkchen belassen, wird ebenfalls ein Fehler ausgegeben. –