2014-09-23 7 views
6

So habe ich Probleme, die Farben meines Liniendiagramms zu ändern, das von JSON aus einer URL generiert wird. Hier ist mein Code, um das Diagramm zu generieren:C3.js Liniendiagramm Farben Von URL

var chart = c3.generate({ 
    bindto: '#chart', 
    data: { 
     url: '../URL.JSON', 
     mimeType: 'json', 
     keys: { 
      x: 'Date', 
      value: ["Line1", "Line2", "Line3", "Line4"] 
     }, 
     type: 'line' 
    }, 
    axis: { 
     x: { 
      type: 'category' 
     } 
    }, 
    size: { 
     height: 500 
    }, 
    colors: { 
     'Line1': '#ff0000' 
    } 
}); 

Und hier ist mein JSON-Format:

[ 
    {'Date': '9/23/2014', 'Line1': 12, 'Line2': 54, 'Line3': 23, 'Line4': 5}, 
    {'Date': '9/22/2014', 'Line1': 56, 'Line2': 18, 'Line3': 25, 'Line4': 0} 
] 

Aus irgendeinem Grund die Farbe gar nicht für Line1 ändert mit den Farben Attribut festgelegt. Also habe ich mich gefragt, ob jemand wusste, wie man die Farben in ein url-generiertes c3-Diagramm ändert.

Vielen Dank.

Antwort

7

Ich fand die Antwort auf meine eigene Frage, also dachte ich, dass ich es hier posten würde.

musste ich hinzufügen:

color: { 
    pattern: ['#363FBC', '#363FBC', '#B73540', '#B73540'] 
} 

Statt:

colors: { 
    'Line1': '#ff0000' 
} 
+1

Dank Kumpel. [Die Dokumente zeigen das 'colors' Objekt an (http://c3js.org/samples/api_data_color.html), aber ich war auch nicht in der Lage es ohne Ihr Beispiel mit dem' pattern' Array arbeiten zu lassen. – BradGreens

+0

Toller Fund Danke. – Obsidian

1

Die colors param innerhalb des data Objekt sein sollte, wie:

data: { 
    columns: [ 
     ['data1', 30, 20, 50, 40, 60, 50], 
     ['data2', 200, 130, 90, 240, 130, 220], 
     ['data3', 300, 200, 160, 400, 250, 250] 
    ], 
    type: 'bar', 
    colors: { 
     data1: '#ff0000', 
     data2: '#00ff00', 
     data3: '#0000ff' 
    } 
}