一、獲取圖表塊物件
1
用法:可透過【FR.Chart.WebUtils.getChart(chartID)】獲取圖表塊物件 chartWidget 。
注:chartID 為字串型別,表示當前圖表所在圖表塊的唯一標識 ID,在 JS 中書寫時需區分大小寫,與實際組件名稱保持完全一緻。
方法 | 型別 | 說明 |
---|---|---|
FR.Chart.WebUtils.getChart("chartID") | 儲存格 | chartID 為儲存格名稱,如:A1 |
FR.Chart.WebUtils.getChart("chartID") | 懸浮元素 | chartID 為懸浮元素的名稱,選中懸浮元素,右擊可查看或設定懸浮元素名稱 |
FR.Chart.WebUtils.getChart("chartID") | 決策報表 | 決策報表內新增的圖儲存格件,chartID 為組件名稱 |
FR.Chart.WebUtils.getChart("chartId","reportName") | 決策報表 | 策報表內有多個報表塊時,獲取報表塊中的圖表 |
注:行動端支援部分 JS 呼叫該方法。
2
範例:獲取 A1 儲存格內圖表塊物件的寫法如下。
3
注意。
該API不支援擴展圖表。
上述所有獲取物件的方法在行動端的實現方式跟 PC 端是有差異的,行動端只支援部分 JS 呼叫這些方法。
行動端決策報表的報表塊內圖表不支援呼叫上述所有的方法。
二、獲取圖表物件
1
用法。
獲取圖表塊物件 chartWidget 後,便可以使用【chartWidget.getChartWithIndex(chartIndex)】來獲取圖表物件,預設圖表塊裏面只有一個圖表,這時的 chartIndex 為 0。
而當設定了圖表切換,即一個圖表塊內有多個圖表時,需要傳入具體的 chartIndex 來獲取具體的圖表物件。
chartIndex 從 0 開始計數,這就意味着如果想獲取第 n 個圖表,那麼傳入的 chartIndex 應該為 n-1。
注:chartIndex 為數字體。
方法 |
---|
FR.Chart.WebUtils.getChart(chartID).getChartWithIndex(chartIndex) |
注:行動端支援部分 JS 呼叫該方法。
2
範例:圖表切換設定了 3 個圖表,獲取第 3 個圖表物件的寫法如下。
三、獲取系列物件
1
用法。
預設 chart 物件有一個 series 屬性,該物件儲存的是圖表內系列相關的資料資訊,是一個物件陣列。
如果想要獲得圖表中某一個具體的系列物件,則需要指定對應的索引 seriesIndex,seriesIndex 從 0 開始計數。
注:對於餅圖來說,一個系列就是一個餅圖,例如:chart.series[0].points 表示第一個餅圖的所有扇形的資料點。
方法 |
---|
chart.series[seriesIndex] |
注:行動端支援部分 JS 呼叫該方法。
2
範例。
假設已獲取到圖表物件 PieChart,現在想要獲取裏面的第 1 個系列物件,那麼使用【PieChart.series[0]】即可得到。
可以在瀏覽器中【列印】。
四、獲取資料點物件
1
用法。
每個 series 物件裏面又有一個 points 的屬性,也是一個物件陣列,這個 points 陣列裏面存放的就是我們想要的 point 資料點物件。
如果需要獲取某個具體的資料點物件,則需要指明該資料點的索引 pointIndex,pointIndex 從 0 開始計數。
方法 |
---|
series.points[pointIndex] |
2
範例。
【chart.series[0].points】,可獲取第一個系列下的所有資料點集合。那麼如果想拿到圖表下所有資料點的集合該怎麼做呢?只需要一個簡單的遍曆操作便可以完成。
五、資料點物件中的屬性
1
用法。
某些場景下,需要的可能只是滿足某一特定條件下的一類資料點集合,這時可以透過 Array.filter 來指定過濾條件,進而篩選出想要的資料點集合。
這裏對資料點物件中的某些屬性做一下介紹,編寫過濾條件的時候需要使用。
屬性 | 含義 |
---|---|
point.name | 資料點的名稱 |
point.seriesName | 資料點對應的系列名稱 |
point.category | 資料點對應的分類名 |
point.value | 資料點的值 |
point.isVisible | 判斷資料點是否可見 |
chart.showTooltip(point) | 觸發資料點提示 |
2
範例:篩選值大於 0.1 的資料點的集合,寫法如下。
六、圖表參數指派
FR.Chart.WebUtils.changeParameter() 可用於改變圖表參數重新請求資料,呼叫API方法如下。
例如要將「華東」作為 area 參數的值傳遞給 chart1 ,寫法如下。