0

我正在使用Google Visulization圖表。爲什麼谷歌燭臺fallingColor和risingColor不適合這個?

我想畫K線圖與樣本數據,我面臨的問題是,下降的顏色,提高色彩被代表了單一顏色只有

這是我的代碼

var mydata = [['13-Oct',1109.95,1132,1097.95,1113.45],['14-Oct',1113.45,1117,1095.6,1101.15],['15-Oct',1116,1132,1092.1,1129.2],['16-Oct',1130,1182.4,1130,1170.3],['19-Oct',1174,1182.2,1144.5,1162.15]]; 

function drawChart() { 

    var data = google.visualization.arrayToDataTable(mydata, true); 

    var options = { 
     legend:'none', 
     colors:['red','brown'], 
     candlestick: { 
      fallingColor:{ fill: "orange", strokeWidth:0.5,stroke:'black'}, 
      risingColor:{fill:"yellowgreen",strokeWidth:0.5,stroke:'black'}} 
    }; 

    var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div')); 

    chart.draw(data, options); 
} 

這是我的小提琴

http://jsfiddle.net/pdmpb9w1/7/

能否請你讓我知道如何解決這個問題?

+0

檢查您的數據,我認爲這是您的問題所在。見http://jsfiddle.net/pdmpb9w1/8/ –

回答

1

就像凱文布朗所說,問題在於你的數據。您的數據的結構應如下所示:

var mydata = [ 
    //category start err start  end  end err 
    ['13-Oct', 1109.95, 1132,  1097.95, 1113.45], 
    ['14-Oct', 1113.45, 1117,  1095.6, 1101.15], 
    ['15-Oct', 1116,  1132,  1092.1, 1129.2], 
    ['16-Oct', 1130,  1182.4, 1130,  1170.3], 
    ['19-Oct', 1174,  1182.2, 1144.5, 1162.15] 
]; 

正如你所看到的,在end列中的所有值都較start列中的值越小,因此,所有的燭臺是彩色的,就好像墜落。

最重要的是,您所有的start err值都小於您的start值,所以您沒有看到誤差/容差線,因爲它隱藏在欄的後面。反之亦然,值爲end

我不知道你的數據應該如何排序,但如果要我猜它會是這樣的:

var mydata = [ 
    // note the first two numbers are swapped with the second two 
    ['13-Oct', 1097.95, 1113.45, 1109.95, 1132], 
    ['14-Oct', 1095.6, 1101.15, 1113.45, 1117], 
    ['15-Oct', 1092.1, 1129.2, 1116, 1132], 
    ['16-Oct', 1130, 1170.3, 1130, 1182.4], 
    ['19-Oct', 1144.5, 1162.15, 1174, 1182.2] 
]; 

這將使以下幾點:

enter image description here

JSFiddle