2017-10-16 15 views
1

我正在使用HighCharts,我希望能夠使用逗號值作爲數據輸入。 Highcharts的標準方法是通過使用例如下面的數據點來創建一個餅圖:使用逗號值作爲PieChart中的數據點

data: [{ 
      name: 'Microsoft Internet Explorer', 
      y: 0.1 
     }, { 
      name: 'Chrome', 
      y: 0.5 
     }] 

通過我找回我的數據(荷蘭註釋,而不是美國-US)作爲外部來源如下:

data: [{ 
      name: 'Microsoft Internet Explorer', 
      y: 0,1 
     }, { 
      name: 'Chrome', 
      y: 0,5 
     }] 

這不會起作用,因爲Highcharts無法處理這個問題,因爲它將y點作爲兩個值進行互換。

有沒有人知道一個解決方案如何使用逗號作爲數據y輸入點也許通過使用格式化程序?

對於一個演示中看到這個JSFIDDLE

+0

我不知道這是可能的,因爲聲明沒有將被解釋爲一個逗號分隔的表達式(這將導致一個錯誤,由於對象形成不良)。如果可能的話,嘗試從源代碼獲取數據作爲字符串。然後,使用'String.replace'來替換帶點的逗號變得很簡單。如果您從JSON API獲取此結構,那麼該結構將不是有效的JSON(逗號分隔值必須用引號括起來) –

回答

1

您可以通過使用替代它解析成一個浮球隨點值替換逗號值:

y: parseFloat(('1,5').replace(/\,/g, '.')) 

http://jsfiddle.net/y30ktm2a/

1

你好我不是確定你的目標是什麼,如果你想在工具提示上看到比你在初始化圖表之前設置的代碼更低,你可以找到Internationalization

Highcharts.setOptions({ 
lang: { 
    decimalPoint: ',' 
} 
}); 

編輯的工作代碼

Highcharts.setOptions({ 
lang: { 
    decimalPoint: ',' 
} 
}); 
Highcharts.chart('container', { 
chart: { 
    plotBackgroundColor: null, 
    plotBorderWidth: null, 
    plotShadow: false, 
    type: 'pie' 
}, 
title: { 
    text: 'Browser market shares January, 2015 to May, 2015' 
}, 
series: [{ 
    name: 'Brands',   
    data: [{ 
     name: 'Microsoft Internet Explorer', 
     y: parseFloat(('1,5').replace(/\,/g, '.')) 
    }, { 
     name: 'Chrome', 
     y: parseFloat(('4').replace(/\,/g, '.')) 
    }] 
}] 
}); 
+0

這是我嘗試過但沒有成功的結果。 – Rotan075

+0

我會給你發送jsfiddle鏈接 –

相關問題