反饋已提交

網絡繁忙

FVS圖表提示輪播聯動其他組件

1. 概述

適用場景:安裝了「FineVis資料視覺化」插件的使用者,可參考本文了解 FVS 範本的相關功能。

1.1 版本

報表伺服器版本
插件版本
11.0.16V1.15.1

1.2 預期效果

FVS基礎圖表實現資料點提示輪播 時,希望輪播的同時可以聯動其他組件。效果如下圖所示:

录屏2024-01-25 10.15.35.gif

注:不支援 擴展圖表 。

2. 範例

2.1 建立範本

點選設計器左上角「檔案>建立視覺化看板」,建立一張空白看板,可自訂範本名稱和尺寸。如下圖所示:

Xnip2024-01-25_09-29-45.jpg

2.2 準備資料

在左下方建立兩個資料庫查詢,查詢語句分別為:

ds1:SELECT * FROM 地圖

ds2:SELECT * FROM 地圖 where 1=1 ${if(len(area)=0,""," and pid='"+area+"'")}

ds2 中的參數 area 是聯動的關鍵,資料點提示輪播時需透過 area 參數傳遞地區,使圖表資料集中 SQL 獲取到該地區的資料,可自訂初始值。

Xnip2024-01-25_09-34-04.jpg

2.3 設計範本

2.3.1 新增組件

在組件區找到標題、表格、餅圖、區域地圖組件,新增到畫布中,調整到合適的佈局。如下圖所示:

Xnip2024-01-25_09-49-24.jpg

2.3.2 綁定圖表資料

1)選中區域地圖組件,綁定地圖資料如下圖所示:

Xnip2024-01-25_09-50-56.jpg

2)選中餅圖組件,綁定餅圖資料如下圖所示:

Xnip2024-01-25_09-52-41.jpg

2.3.3 設標度題組件

標題內容輸入公式 $area ,則標題會根據參數 area 變化。如下圖所示:

Xnip2024-01-25_09-55-46.jpg

2.3.4 設定表格組件

選中表格組件,點選右側面板「內容>編輯組件」進入編輯介面,將 ds2 資料集中的欄位拖入儲存格,自訂標題行即可。

點選表格編輯介面左上角「傳回視覺化看板」按鈕傳回畫布。如下圖所示:

Xnip2024-01-25_10-02-55.jpg

2.4 新增頁面載入結束事件

點選設計器頂部「範本>頁面載入結束事件」,輸入 JavaScript 程式碼:

setTimeout(function(){
 var vanchart = duchamp.getWidgetByName("區域地圖1_頁面1").getInstance();//獲取vancharts物件
 var oldChartShowTooltip = vanchart.showTooltip;//記錄原來的showtooltip
 vanchart.showTooltip = function(point) { //重寫showtooltip
     oldChartShowTooltip.apply(vanchart, Array.prototype.slice.call(arguments));
     var areaName = point.name;
     duchamp.getWidgetByName("表格1_頁面1").refresh({area: areaName});
     duchamp.getWidgetByName("標題1_頁面1").refresh({area: areaName});
     duchamp.getWidgetByName("餅圖1_頁面1").refresh({area: areaName});
     //tooltip變化後傳參給對應組件並重新整理
   }
  setTimeout(function(){
    duchamp.getWidgetByName("區域地圖1_頁面1").openAutoTooltip("3000")//tooltip自動輪播
  },1000);
},500);

如下圖所示:

注:FVS V2.2.1 版本新增參數全局聯動API linkageGlobal ,可將上述程式碼中獲取多個組件傳參重新整理的部分用這個API更換,參考如下。

setTimeout(function(){
 var vanchart = duchamp.getWidgetByName("區域地圖1_頁面1").getInstance();//獲取vancharts物件
 var oldChartShowTooltip = vanchart.showTooltip;//記錄原來的showtooltip
 vanchart.showTooltip = function(point) { //重寫showtooltip
     oldChartShowTooltip.apply(vanchart, Array.prototype.slice.call(arguments));
     var areaName = point.name;
     duchamp.linkageGlobal({area: areaName});
     //tooltip變化後傳參全局聯動
   }
  setTimeout(function(){
    duchamp.getWidgetByName("區域地圖1_頁面1").openAutoTooltip("3000")//tooltip自動輪播
  },1000);
},500);

2.5 效果預覽

點選右上角「儲存」,再點選「預覽」。效果如 1.2 節所示。FVS圖表提示輪播聯動其他組件

注:不支援行動端。

3. 範本下載

附件列表


主題: FineVis數據視覺化
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉