动态切换 web 报表中的统计图类型
【摘要】
統(tǒng)計(jì)圖在瀏覽器端展現(xiàn)時(shí),不同的使用人員對(duì)圖形的展現(xiàn)形式會(huì)有不同的要求,有的需要柱形圖、有的想看折線圖等,報(bào)表支持用戶在瀏覽器端動(dòng)態(tài)的選擇統(tǒng)計(jì)圖類型,關(guān)注乾學(xué)院,查看具體實(shí)現(xiàn)方法動(dòng)態(tài)切換 web 報(bào)表中的統(tǒng)計(jì)圖類型
需求:
報(bào)表以圖形方式,也就是我們常說(shuō)的“圖表”形式展示時(shí),不同的用戶對(duì)圖形類型有不同的要求,希望能夠動(dòng)態(tài)切換統(tǒng)計(jì)圖類型,例如實(shí)現(xiàn)柱形圖、條形圖、折線圖等圖形間的動(dòng)態(tài)切換。
思路:
常見(jiàn)的做法是在報(bào)表中多個(gè)單元格中生成不同的統(tǒng)計(jì)圖,然后通過(guò)參數(shù)動(dòng)態(tài)隱藏行來(lái)實(shí)現(xiàn)圖形類型切換,但此種方法需要制作大量的圖形圖表,工作量較大,而且大量隱藏單元格會(huì)耗用內(nèi)存,在性能上也有一定影響。
當(dāng)然,肯定還會(huì)有別的方式……我們?cè)谥谱鹘y(tǒng)計(jì)圖時(shí)會(huì)發(fā)現(xiàn),絕大多數(shù)統(tǒng)計(jì)圖設(shè)置方式基本類似,只需要設(shè)置分類軸、系列即可生成統(tǒng)計(jì)圖。而生成的統(tǒng)計(jì)圖是通過(guò)單元格表達(dá)式中的 graph() 函數(shù)實(shí)現(xiàn)的,參考該函數(shù)的幫助文檔發(fā)現(xiàn),該函數(shù)可以傳入一個(gè)整型參數(shù)來(lái)控制統(tǒng)計(jì)圖類型,這樣我們就可以通過(guò)該參數(shù)實(shí)現(xiàn)統(tǒng)計(jì)圖類型間的動(dòng)態(tài)切換。下面,我們具體介紹下該種方式的實(shí)現(xiàn)。
一:制作統(tǒng)計(jì)表
以訂單表為例,按貨主地區(qū)統(tǒng)計(jì)訂單數(shù)量,報(bào)表設(shè)計(jì)界面如下:
二:增加統(tǒng)計(jì)圖
A3、B3 單元格合并,并更改該行高度,在 A3 中設(shè)置統(tǒng)計(jì)圖:
統(tǒng)計(jì)圖類型可任選,分類軸以及系列中設(shè)置相應(yīng)表達(dá)式 ,點(diǎn)擊確定即可。這樣該單元格就生成了一個(gè)柱形圖。
三:動(dòng)態(tài)更改類型
報(bào)表中增加一個(gè)整數(shù)型參數(shù):type,用于控制統(tǒng)計(jì)圖類型,默認(rèn)值設(shè)成 7 表示默認(rèn)圖形類型是柱形圖:
將 A3 單元格的值表達(dá)式更改成 graph(type)
這樣預(yù)覽報(bào)表給該參數(shù)傳遞不同的值該單元格就能展示不同的圖形類型。
四:頁(yè)面端控制
報(bào)表制作好后,可在頁(yè)面端增加一個(gè)參數(shù)表單進(jìn)行動(dòng)態(tài)控制。如果用戶只需要看圖形,可將報(bào)表的前兩行設(shè)置隱藏,然后將沒(méi)用的行列刪除,將報(bào)表保存為為 tu.rpx,并增加參數(shù)表單報(bào)表,設(shè)置如下:
C1 單元格變量名屬性設(shè)置成:type,C1 可做為下拉框供用戶選擇,值如下:
將報(bào)表保存為 tu_arg.rpx,在瀏覽器端訪問(wèn) tu.rpx,更改參數(shù)點(diǎn)擊查詢即可,如選擇折線圖:
選擇柱形圖:
附:各圖形類型對(duì)照關(guān)系:
1:區(qū)域圖
2:條形圖
3:三維條形圖
4:三維簇狀條形圖
5:堆積條形圖
6:三維堆積條形圖
7:柱形圖
8:三維柱形圖
9:三維簇狀柱形圖
10:堆積柱形圖
11:三維堆積柱形圖
12:折線圖
13:餅型圖
14:散列圖
15:三維區(qū)域圖
16:三維折線圖
17:三維餅型圖
18:時(shí)序狀態(tài)圖
19:時(shí)間走勢(shì)圖
20:雙軸折線圖
21:雙軸柱線圖
22:雷達(dá)圖
23:甘特圖
24:儀表盤(pán)
25:里程碑
詳情鏈接:http://c.raqsoft.com.cn/article/1542008169051
?
總結(jié)
以上是生活随笔為你收集整理的动态切换 web 报表中的统计图类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何在Win11中恢复动态磁贴?
- 下一篇: 玩转pandas取数_下