2014-09-23 100 views
6

所以我有麻烦试图改变从JSON生成的线图的颜色从URL。这里是我的代码来生成图表:C3.js线条图颜色来自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' 
    } 
}); 

这里是我的JSON格式:

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

出于某种原因,颜色不会在所有的线路1与颜色相关的属性设置更改。所以我想知道是否有人知道如何将颜色更改为生成c3图形的url。

谢谢。

回答

7

我想出了自己的问题的答案,所以我想我会在这里发布。

我不得不添加:

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

相反的:

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

谢谢哥们。 [文档指出'colors'对象](http://c3js.org/samples/api_data_color.html),但是如果没有你使用'pattern'数组的示例,我也无法使它工作。 – BradGreens 2014-10-16 23:26:47

+0

非常感谢。 – Obsidian 2014-11-28 14:15:44

1

colors PARAM应该是data对象内,如:

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' 
    } 
}