0

當導出散點圖/氣泡圖表數據作爲CSV或XLS,它缺少關鍵信息,參見例如:http://jsfiddle.net/11fum86u/Highcharts在散點圖CSV/XLS出口缺少的信息

這是數據(提取物):

series: [{ 
    data: [ 
     { x: 95, y: 95, z: 13.8, name: 'BE', country: 'Belgium' }, 

與軸標題是在提示(但也許需要在別處定義):

tooltip: { 
    pointFormat: '<tr><th colspan="2"><h3>{point.country}</h3></th></tr>' + 
     '<tr><th>Fat intake:</th><td>{point.x}g</td></tr>' + 
     '<tr><th>Sugar intake:</th><td>{point.y}g</td></tr>' + 
     '<tr><th>Obesity (adults):</th><td>{point.z}%</td></tr>', 

什麼是默認的導出缺少的是(我)標籤˚F或y和z軸,和(ii)氣泡的名稱(在本例中爲國家代碼/名稱)

我想知道如何將這些信息添加到導出中。

回答

0

實際上氣泡圖中沒有z軸。這很混亂,因爲所有點都有z屬性。這個屬性用來計算氣泡的大小,所以不需要額外的軸,因爲所有東西都在2d中。在三維圖表中使用了zAxis

請參閱本帶電作業例如:http://jsfiddle.net/kkulig/udtr0emL/

您可以處理第一行標籤通過columnHeaderFormatterhttp://api.highcharts.com/highcharts/exporting.csv.columnHeaderFormatter):

exporting: { 
    csv: { 
     columnHeaderFormatter: function(item, key, keyLength) { 
     if (item.axisTitle) { 
      return item.axisTitle.textStr; // x axis label 
     } else if (key === 'y') { 
      return item.yAxis.axisTitle.textStr; // y axis label 
     } else if (key === 'z') { 
      return 'Obesity (adults)'; // z axis label 
     } 
     } 
    } 
    } 

要添加另一列(國家)添加以下代碼段在這三個核心功能中:

1. Highcharts.Chart.prototype.getDataRows

// add original point reference 
rows[key].point = point; 

2. Highcharts.Chart.prototype.getCSV

// Add point name and header 
    csv += itemDelimiter; 
    var point = row['point']; 
    if (point) { 
    csv += point.name 
    } else { 
    csv += "Country" 
    } 

3. Highcharts.Chart.prototype.getTable(對於XLS)

var point = row['point'], 
    val; 
    if (point) { 
    val = point.name; 
    } else { 
    val = "Country"; 
    } 

    html += '<' + tag + ' class="text">' + 
    (val === undefined ? '' : val) + '</' + tag + '>'; 

所有功能可在export-data.src.js這個目錄中找到:https://github.com/highcharts/highcharts/tree/b4b4221b19a3a50d9ed613b6f50b12f0afcc7d06/js/modules

+0

太棒了,正是我所需要的,非常感謝。有沒有辦法在XLS導出中添加額外的列? – Fred

+0

@Kamil此更改將反映核心功能,因此導出條形圖/柱形圖時,國家名稱將被列出兩次。對? –

+0

@RohanKumar,它取決於你的數據是怎樣的。無論數據的其他部分如何,此代碼都會添加另一列。 –