當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

圖表開啓自動數據點提示輪播接口

1. 概述

1.1 應用場景

圖表的數據點提示信息可以輪播展示,并且輪播的時候高亮顯示對應的數據點。
1570676272295050.gif

注:地圖開啓自動數據點提示輪播的方法有所不同,詳細介紹參見文檔:地圖開啓數據點提示輪播

1.2 實現思路

使用之前先獲取需要操作的 圖表對象 ,然後調用改圖表對象的 openTooltip 方法即可開啓圖表數據點提示自動播放的功能。

chart.openAutoTooltip([delay, initPoints]);

參數  含義  
  delay  提示切換時間間隔,默認爲 3s
  initPoints  輪播數據點提示對應的數據點集合,默認爲圖表内所有數據點

在調用該方法後,會返回一個用於關閉自動輪播數據點提示的 controller,通過controller.stop()方法,即可停止當前的輪播數據點提示自動播放,如下表所示:

JS代碼備注
var controller = chart.openAutoTooltip()開啓自動數據點提示輪播
controller.stop()停止自動輪循播放數據點提示
controller.moveOn()
繼續從停止位置播放數據點提示輪播

如果想要指定輪播間隔和需要顯示數據點提示的數據點集合,則可以追加可選參數,關於獲取指定數據點集合,可以參考 獲取圖表内特定的數據點對象 。

注:該方法不支持移動端。

2. 示例一:普通報表

2.1 數據準備

選擇文件>新建普通報表,添加數據集 ds1:SELECT * FROM 銷量 where 地區 ='華東'

2.2 圖表制作

 1)合并一片單元格,此處合并後的單元格爲 A3 。鼠标右鍵點擊 A3 單元格,選中單元格元素>插入圖表>折線圖,如下圖所示:

1570670993584571.png

2)鼠标左鍵點擊插入的折線圖,在屬性面板右側選中「數據」,爲折線圖設置數據。如下圖所示:

1570697624688482.png

根據實際需要可在屬性面板右側「樣式」中進一步設置圖表樣式,例如調整配色,坐标軸,字體大小顔色等,這裏不再詳細介紹。

2.3 開啓自動數據點提示輪播

2.3.1 輪播所有的數據點提示

在 A1 單元格裏新增文字「開啓數據點提示輪播」,選中 A1 單元格,在右側屬性面板中點擊 超級鏈接>添加鏈接,添加「JavaScript 腳本」超級鏈接,點擊超鏈後開始數據點提示輪播,如下圖:

1570696361170689.png
JS 代碼如下所示:

//獲取圖表對象
var vanchart =FR.Chart.WebUtils.getChart("A3").getChartWithIndex(0);
// 開啓數據提示輪播, 并将輪播控制器綁定到圖表對象上
vanchart.controller = vanchart.openAutoTooltip();

注:獲取圖表塊對象 FR.Chart.WebUtils.getChart("chartID") 中的 chartID 爲當前圖表的單元格序号,如上“A3”。

由於模板中數據點提示自動切換采用的是默認時間間隔3S,所以在點擊圖表後需等待 3S 才會出現動畫效果,如果用戶想要更改時間間隔可修改 chart.openAutoTooltip([delay, initPoints]) 中的「delay」參數。

2.3.2 輪播指定的數據點提示(值大於 400)

用戶若想實現此效果,步驟與本文 4.3.1 章節相同。

var vanchart =FR.Chart.WebUtils.getChart("A3").getChartWithIndex(0);//獲取圖表對象
var points = []; 
vanchart.series.forEach(function (ser){//獲取所有的數據提示點
    points = points.concat(ser.points);
}) 
points = points.filter(function (p){//篩選大於 400 的數據提示點
    return p.value > 400;
})
var delay=1000//切換時間間隔爲1秒
vanchart.openAutoTooltip(delay,points);//開啓數據點提示輪播

2.4 停止自動數據點提示輪播

在 B1 單元格裏新增文字「停止數據點提示輪播」,選中 B1 單元格,在右側屬性面板中點擊 超級鏈接>添加鏈接,添加「JavaScript 腳本」超級鏈接,點擊超鏈後停止數據點提示輪播,如下圖所示:
1570696306617008.png

JS 代碼如下所示:

//獲取圖表對象
var vanchart =FR.Chart.WebUtils.getChart("A3").getChartWithIndex(0);
// 停止自動輪循播放數據點提示
vanchart.controller.stop();

2.5 繼續數據點提示輪播

在 C1 單元格裏新增文字「繼續數據點提示輪播」,選中 C1 單元格,在右側屬性面板中點擊 超級鏈接>添加鏈接,添加「JavaScript 腳本」超級鏈接,點擊超鏈後繼續數據點提示輪播,如下圖所示:

1570696782656429.png

JS 代碼如下所示:

//獲取圖表對象
var vanchart =FR.Chart.WebUtils.getChart("A3").getChartWithIndex(0);
//繼續從停止位置播放數據點提示輪播
vanchart.controller.moveOn(); 

注:該方法不支持移動端。

2.6 效果預覽

保存模板,點擊分頁預覽,效果如下所示:

1570760338790576.gif

注:不支持移動端。

3. 示例二:決策報表

3.1 添加數據集

選擇文件>新建決策報表,添加數據集 ds1: SELECT * FROM 銷量 where 地區 ='華東'

3.2 模板設置

1)将「折線圖」圖表拖進新建的決策報表中,如下圖所示:

1570676387431156.png

2)鼠标左鍵點擊報表設計主體中央的「編輯 」,在屬性面板右側選中「數據」, 爲折線圖設置數據。如下圖所示:

1570673764512677.png

3.3 添加事件

在屬性面板右側,點擊控件設置>chart0>事件,添加「初始化後」事件,如下圖所示:

1570674224809089.png

JS 代碼如下所示:

setTimeout(function(){
var vanchart =FR.Chart.WebUtils.getChart("chart0").getChartWithIndex(0);
vanchart.openAutoTooltip();
},3000

在決策報表中,還可以新增按鈕,給按鈕添加「點擊事件」,點擊後實現數據點提示自動輪播,JS 代碼如下所示:

var vanchart =FR.Chart.WebUtils.getChart("chart0").getChartWithIndex(0);
vanchart.openAutoTooltip();

注:由於決策報表裏沒有加載結束後事件,只有初始化後事件,但是我們需要在決策報表加載結束後再執行這段代碼,因此我們在代碼前面加上setTimeout()延時函數。

注:3000ms 代表的是事件加載結束後的時間,如果數據量龐大導緻報表生成過慢,測試一下加載報表所需時間,換算成毫秒後,将 3000 替換。例如:報表加載需要 15s,那麽當前代碼後面延遲的 3000 需要改成 15000 。

注:若爲決策報表的報表塊中的圖表,JavaScript 代碼如下:

setTimeout(function(){
var vanchart =FR.Chart.WebUtils.getChart("B2","report0").getChartWithIndex(0);
vanchart.openAutoTooltip();
},1000

3.5 效果預覽

保存模板,點擊PC端預覽,效果如應用場景中所示。

注1:不支持移動端。

注2:圖表全屏展示時不支持數據點提示輪播。

4. 模板下載

4.1 示例一:普通報表

已完成的模板,請參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Chart\圖表數據點提示自動輪播-示例一.cpt

點擊下載模板:圖表數據點提示自動輪播-示例一.cpt

4.2 示例二:決策報表

已完成的模板,請參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Chart\圖表數據點提示自動輪播-示例二.frm

點擊下載模板:圖表數據點提示自動輪播-示例二.frm

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s後關閉

反饋已提交

網絡繁忙