本發(fā)明涉及圖像處理領(lǐng)域,具體而言,涉及一種渲染圖表的方法及裝置。
背景技術(shù):
在實(shí)際的開(kāi)發(fā)項(xiàng)目例如網(wǎng)頁(yè)開(kāi)發(fā)的過(guò)程中,會(huì)經(jīng)常遇到各種各樣的圖表需求,為了滿(mǎn)足這些圖表需求,我們?cè)谇岸朔矫嫘枰牒褪褂卯?dāng)下一些主流的圖表庫(kù),比如highcharts、echarts、d3等,也可能需要實(shí)際的需求獨(dú)立開(kāi)發(fā)自己的圖表庫(kù)從而渲染符合自己需求的圖表。
這里需要說(shuō)明的是,由于不同的圖表庫(kù)具有不同的數(shù)據(jù)結(jié)構(gòu)和使用方法,這樣會(huì)帶來(lái)學(xué)習(xí)成本的提升,以及不同團(tuán)隊(duì)之間的重復(fù)勞動(dòng),更加有可能會(huì)導(dǎo)致團(tuán)隊(duì)之間的優(yōu)秀成果無(wú)法普及。
針對(duì)相關(guān)技術(shù)在根據(jù)不同的需求渲染圖表的過(guò)程中,由于每種需求下引入的圖表可以相同,因此會(huì)使得圖表引入重復(fù),浪費(fèi)系統(tǒng)資源的缺陷,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種渲染圖表的方法及裝置,以至少解決相關(guān)技術(shù)在根據(jù)不同的需求渲染圖表的過(guò)程中,由于每種需求下引入的圖表可以相同,因此會(huì)使得圖表引入重復(fù),浪費(fèi)系統(tǒng)資源的缺陷的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種渲染圖表的方法,包括:對(duì)圖表庫(kù)集合中的每個(gè)圖表庫(kù)定義對(duì)應(yīng)的圖表庫(kù)適配器模塊,生成多個(gè)圖表庫(kù)適配器模塊;根據(jù)接收到的渲染指令確定多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊,其中,第一適配器模塊對(duì)應(yīng)圖表庫(kù)集合中的第一圖表庫(kù),第一圖表庫(kù)中包含目標(biāo)圖表;調(diào)用第一適配器模塊來(lái)渲染目標(biāo)圖表。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種渲染圖表的裝置,包括:定義單元,用于對(duì)圖表庫(kù)集合中的每個(gè)圖表庫(kù)定義對(duì)應(yīng)的圖表庫(kù)適配器模塊,生成多個(gè)圖表庫(kù)適配器模塊;確定單元,用于根據(jù)接收到的渲染指令確定多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊,其中,第一適配器模塊對(duì)應(yīng)圖表庫(kù)集合中的第一圖表庫(kù),第一圖表庫(kù) 中包含目標(biāo)圖表;渲染單元,用于調(diào)用第一適配器模塊來(lái)渲染目標(biāo)圖表。
在本發(fā)明實(shí)施例中,對(duì)圖表庫(kù)集合中的每個(gè)圖表庫(kù)定義對(duì)應(yīng)的圖表庫(kù)適配器模塊,生成多個(gè)圖表庫(kù)適配器模塊;根據(jù)接收到的渲染指令確定多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊,其中,第一適配器模塊對(duì)應(yīng)圖表庫(kù)集合中的第一圖表庫(kù),第一圖表庫(kù)中包含目標(biāo)圖表;調(diào)用第一適配器模塊來(lái)渲染目標(biāo)圖表。從而實(shí)現(xiàn)了提高渲染圖表效率的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)在根據(jù)不同的需求渲染圖表的過(guò)程中,由于每種需求下引入的圖表可以相同,因此會(huì)使得圖表引入重復(fù),浪費(fèi)系統(tǒng)資源的缺陷的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例一的渲染圖表的方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例一的渲染圖表的方法的通用的圖表庫(kù)的示意圖;以及
圖3是根據(jù)本發(fā)明實(shí)施例二的渲染圖表的裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
本申請(qǐng)中專(zhuān)業(yè)術(shù)語(yǔ)解釋如下:
AMD模塊化規(guī)范:AMD是“Asynchronous Module Definition”的縮寫(xiě),意思為"異步模塊定義"。AMD模塊化規(guī)范采用異步方式加載模塊,即所有依賴(lài)這個(gè)模塊的語(yǔ)句,都定義在一個(gè)回調(diào)函數(shù)中,等到加載完成之后,這個(gè)回調(diào)函數(shù)才會(huì)運(yùn)行。
js:javaScript的簡(jiǎn)寫(xiě)形式,是一種動(dòng)態(tài)類(lèi)型、弱類(lèi)型、基于原型的計(jì)算機(jī)程序語(yǔ)言,內(nèi)置支持類(lèi)型。js的解釋器被稱(chēng)為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶(hù)端的腳本語(yǔ)言。
實(shí)施例1:
根據(jù)本發(fā)明實(shí)施例,提供了一種渲染圖表的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例一的渲染圖表的方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,對(duì)圖表庫(kù)集合中的每個(gè)圖表庫(kù)定義對(duì)應(yīng)的圖表庫(kù)適配器模塊,生成多個(gè)圖表庫(kù)適配器模塊。
具體地,在上述步驟S102中,上述圖表庫(kù)集合可以包含當(dāng)下一些主流的圖表庫(kù)比如highcharts、echarts、d3等多個(gè)圖表庫(kù),在本方案中,可以按照javascript的AMD模塊化規(guī)范對(duì)上述圖表庫(kù)集合中的每個(gè)圖表庫(kù)都定義其對(duì)應(yīng)的圖表庫(kù)適配器模塊,生成多個(gè)圖表庫(kù)適配器模塊。可選地,上述多個(gè)圖表庫(kù)適配器模塊可以是js模塊(每個(gè)不同的基礎(chǔ)圖表庫(kù)各自對(duì)應(yīng)一個(gè)適配器js模塊)。
步驟S104,根據(jù)接收到的渲染指令確定多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊,其中,第一適配器模塊對(duì)應(yīng)圖表庫(kù)集合中的第一圖表庫(kù),第一圖表庫(kù)中包含目標(biāo)圖表。
具體地,上述步驟S104中的第一適配器模塊可以是多個(gè)圖表庫(kù)適配器模塊中的任意一個(gè)圖表庫(kù)適配器模塊,在本方案中,可以接收用戶(hù)輸入的渲染指令,并根據(jù)上述渲染指令來(lái)確定上述多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊。
這里需要說(shuō)明的是,用戶(hù)可以預(yù)先在渲染指令中定義相關(guān)的類(lèi)型屬性信息,上述類(lèi)型屬性信息則用于確定具體的適配器模塊,由于每個(gè)適配器模塊都對(duì)應(yīng)一個(gè)圖表庫(kù),因此用戶(hù)可以根據(jù)自己的實(shí)際需求來(lái)預(yù)先在上述渲染指令中定義不同的類(lèi)型屬性信息最終渲染不同的圖表庫(kù)中的圖表。
例如,用戶(hù)想渲染圖表庫(kù)集合中的第一圖表庫(kù)中的圖表,則可以在上述渲染指令中定義第一類(lèi)型屬性信息,在本方案中,可以通過(guò)上述第一類(lèi)型屬性信息來(lái)獲取到第一適配器模塊,再通過(guò)上述第一適配器模塊中的渲染方法來(lái)渲染第一圖表庫(kù)中的圖表。
步驟S108,調(diào)用第一適配器模塊來(lái)渲染第一圖表庫(kù)中的目標(biāo)圖表。
需要說(shuō)明的是,在現(xiàn)有技術(shù)中,第一開(kāi)發(fā)團(tuán)隊(duì)引用圖表庫(kù)要消耗一定的系統(tǒng)資源和時(shí)間,當(dāng)?shù)诙_(kāi)發(fā)團(tuán)隊(duì)引用與第一開(kāi)發(fā)團(tuán)隊(duì)相同的圖表庫(kù)時(shí),也要消耗同樣的系統(tǒng)資源和時(shí)間,這無(wú)疑會(huì)造成系統(tǒng)資源和時(shí)間上的浪費(fèi),而在本方案中,可以實(shí)現(xiàn)一個(gè)集成的通用的圖表庫(kù)(該通用圖表庫(kù)可以集成在核心js模塊中),即預(yù)先將所有的圖表庫(kù)都集合在一起,任意開(kāi)發(fā)團(tuán)隊(duì)無(wú)需引用圖表只需輸入相關(guān)的參數(shù)即可以從上述預(yù)先集成的圖表庫(kù)中渲染到符合自己需求的圖表。從而本方案解決了相關(guān)技術(shù)在根據(jù)不同的需求渲染圖表的過(guò)程中,由于每種需求下引入的圖表可以相同,因此會(huì)使得圖表引入重復(fù),浪費(fèi)系統(tǒng)資源的缺陷。這里還需要說(shuō)明的是,由于針對(duì)每個(gè)圖表庫(kù)都是按照統(tǒng)一的AMD規(guī)范來(lái)定義每個(gè)圖表庫(kù)對(duì)應(yīng)的適配器模塊,因此本方案還可以實(shí)現(xiàn)在引入圖表庫(kù)時(shí)可以通過(guò)通用的配置項(xiàng),統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和公共的使用方法來(lái)渲染圖表的技術(shù)效果。
需要說(shuō)明的是,本方案中出現(xiàn)的“渲染圖表”,可以為在網(wǎng)頁(yè)的顯示過(guò)程中,“生成、產(chǎn)生、實(shí)現(xiàn)、繪制”圖表的意思,為計(jì)算機(jī)方面常用的術(shù)語(yǔ)。
可選地,上述渲染指令中可以包括通用的圖表配置,步驟S104,根據(jù)接收到的渲染指令確定多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊的步驟可以包括:
步驟S1041,通過(guò)通用的圖表配置中的類(lèi)型屬性獲取類(lèi)型屬性對(duì)應(yīng)的第一適配器模塊。
具體地,用戶(hù)可以通過(guò)在上述渲染指令中定義類(lèi)型屬性從而通過(guò)該類(lèi)型屬性獲取到上述類(lèi)型屬性對(duì)應(yīng)的第一適配器模塊。
在一種可選的實(shí)施例中,可以按照javascript的AMD模塊化規(guī)范,定義集成通用圖表庫(kù)的核心js模塊—commonCharts,上述核心js模塊的作用可以為緩存和調(diào)用其他圖表庫(kù)的適配器模塊,用戶(hù)可以在上述核心js模塊中來(lái)定義通用的圖表配置commonOption中的圖表類(lèi)型屬性baseChart屬性,在上述核心js模塊中可以預(yù)先定義通用的第一外部調(diào)用接口render,上述通用的第一外部接口render以上述圖表類(lèi)型屬性baseChart屬性為參數(shù)來(lái)獲取在緩存中的相應(yīng)的適配器模塊,再通過(guò)獲取到的上述相應(yīng)的圖表庫(kù)適配器模塊來(lái)渲染需要的圖表。
可選地,上述渲染指令還包括基礎(chǔ)圖表庫(kù)的配置,步驟S108,根據(jù)第一適配器模 塊渲染第一圖表庫(kù)中的目標(biāo)圖表的步驟可以包括:
步驟S1081,調(diào)用第一適配器模塊中的外部調(diào)用接口,其中,外部調(diào)用接口用于以通用的圖表配置和基礎(chǔ)圖表庫(kù)的配置作為入口參數(shù)來(lái)構(gòu)造渲染目標(biāo)圖表所需的參數(shù)。
可選地,在獲取到第一適配器模塊之后,可以調(diào)用上述第一適配器模塊中的外部調(diào)用接口函數(shù),這里需要說(shuō)明的是,可以通過(guò)上述第一適配器模塊中的外部調(diào)用接口函數(shù)來(lái)構(gòu)造渲染第一適配器模塊對(duì)應(yīng)的第一圖表庫(kù)中的圖表需要的參數(shù),還需要說(shuō)明的是,上述基礎(chǔ)圖表配置可以包含一些第一圖表庫(kù)中具體圖表的配置,用于渲染符合自己需求的目標(biāo)圖表,還需要說(shuō)明的是,在一種可選的實(shí)施例中,可以對(duì)上述目標(biāo)圖表進(jìn)行擴(kuò)展,即在現(xiàn)有的圖表的基礎(chǔ)上擴(kuò)展若干功能的圖表。
步驟S1082,根據(jù)渲染目標(biāo)圖表所需的參數(shù)渲染目標(biāo)圖表。
仍舊以定義集成通用圖表庫(kù)的核心js模塊為例,可以在根據(jù)上述核心js模塊獲取到的第一適配器模塊中預(yù)先定義第二外部調(diào)用接口render,上述第一適配器模塊接收到上述核心js模塊傳遞的通用的圖表配置commonOption和基礎(chǔ)圖表庫(kù)的配置baseOption之后,調(diào)用上述第二外部調(diào)用接口render,以通用的圖表配置commonOption和基礎(chǔ)圖表庫(kù)的配置baseOption為入口參數(shù)來(lái)構(gòu)造渲染第一圖表庫(kù)中的目標(biāo)圖表所需要的配置參數(shù)Option,再通過(guò)配置參數(shù)Option渲染第一圖表庫(kù)中的目標(biāo)圖表。
可選地,上述通用的圖表配置還可以包括:數(shù)據(jù)源屬性dataSource、通用圖表配置屬性chartConfig以及圖表渲染的容器container。
可選地,步驟S1082,根據(jù)渲染目標(biāo)圖表所需的參數(shù)渲染目標(biāo)圖表的步驟可以包括:
步驟S10821,將渲染目標(biāo)圖表所需的參數(shù)作為第一圖表庫(kù)的外部調(diào)用接口的入口參數(shù)。
步驟S10822,調(diào)用第一圖表庫(kù)的外部調(diào)用接口,渲染目標(biāo)圖表。
具體地,可以預(yù)先定義渲染第三外部調(diào)用接口即上述第一圖表庫(kù)的外部調(diào)用接口,將上述步驟S1081中渲染目標(biāo)圖表所需的參數(shù)作為上述第三外部調(diào)用接口的入口參數(shù),渲染所需要的圖表,即上述第一圖表庫(kù)中的目標(biāo)圖表。
仍舊以定義集成通用圖表庫(kù)的核心js模塊為例,可以調(diào)用第一圖表庫(kù)的外部調(diào)用接口,將上述渲染第一圖表庫(kù)所需要的配置參數(shù)Option作為第一圖表庫(kù)的外部調(diào)用接口的入口參數(shù),從而渲染所需要的圖表即上述目標(biāo)圖表。
下面以構(gòu)造一個(gè)通用的圖表庫(kù)為基礎(chǔ)對(duì)本申請(qǐng)的一個(gè)優(yōu)選的實(shí)施例進(jìn)行詳細(xì)描述:
(1)構(gòu)造通用的圖表庫(kù)
首先,按照javascript的AMD模塊化規(guī)范,定義該集成通用圖表庫(kù)的核心js模塊—commonCharts,該核心js模塊的主要作用是緩存和調(diào)用其他圖表庫(kù)的適配器模塊。
其次,在核心js模塊中定義緩存和獲取圖表庫(kù)適配器模塊的方法,主要作用是用來(lái)緩存其他圖表庫(kù)的適配器模塊以及獲取其他圖表庫(kù)適配器模塊,在核心js模塊中定義通用的外部調(diào)用接口render,該外部調(diào)用接口函數(shù)的接收參數(shù)是通用圖表配置commonOption和基礎(chǔ)圖表庫(kù)自身的配置baseOption兩個(gè)參數(shù),主要作用是根據(jù)通用圖表配置commonOption里的圖表庫(kù)類(lèi)型baseChart屬性來(lái)獲取在緩存中的圖表庫(kù)適配器模塊,從而進(jìn)行調(diào)用該圖表庫(kù)適配器模塊的render函數(shù)來(lái)進(jìn)行渲染圖表。
接著,按照javascript的AMD模塊化規(guī)范,定義相應(yīng)圖表庫(kù)的適配器js模塊(各種基礎(chǔ)圖表庫(kù)對(duì)應(yīng)各自一個(gè)圖表庫(kù)的適配器js模塊),該適配器模塊的主要作用是根據(jù)核心js模塊傳遞過(guò)來(lái)的通用圖表配置commonOption和基礎(chǔ)圖表庫(kù)自身的配置baseOption來(lái)構(gòu)造自身需要的圖表配置,從而渲染所需要的圖表。在任意一個(gè)適配器js模塊中定義外部調(diào)用接口函數(shù)render,該函數(shù)的主要作用是根據(jù)通用圖表配置commonOption和基礎(chǔ)圖表庫(kù)自身的配置baseOption來(lái)構(gòu)造自身所需要的圖表配置opiton,把構(gòu)造的圖表配置option作為自身圖表庫(kù)的外部調(diào)用接口的入口參數(shù),調(diào)用該外部接口函數(shù)從而渲染所需要的圖表,需要說(shuō)明的是,可以調(diào)用核心js模塊的緩存函數(shù),把當(dāng)前適配器的render方法和圖表類(lèi)型數(shù)組緩存起來(lái),以供核心js模塊選擇性地調(diào)用相應(yīng)圖表庫(kù)適配器模塊來(lái)實(shí)現(xiàn)所需要的圖表。上述通用的圖表庫(kù)的示意圖如圖2所示,每個(gè)基礎(chǔ)圖表庫(kù)都對(duì)應(yīng)著一個(gè)適配器模塊,上述基礎(chǔ)圖表庫(kù)可以為當(dāng)前流行的圖表比如highchart、echars、d3等。
(2)通過(guò)通用的圖表庫(kù)渲染圖表
首先,構(gòu)造通用圖表配置commonOption和基礎(chǔ)圖表庫(kù)自身的配置baseOption兩個(gè)參數(shù);其中通用圖表配置commonOption主要包括有基礎(chǔ)圖表庫(kù)類(lèi)型屬性baseChart、數(shù)據(jù)源屬性dataSource、通用圖表配置屬性chartConfig以及圖表渲染的容器container。
然后,調(diào)用集成通用圖表庫(kù)的核心js模塊的外部調(diào)用接口render函數(shù),將commonOption和baseOption兩個(gè)配置項(xiàng)做為入口參數(shù)。
接著,核心js模塊的外部調(diào)用接口render函數(shù)會(huì)根據(jù)通用圖表配置commonOption中的圖表庫(kù)類(lèi)型baseChart屬性來(lái)選擇相應(yīng)的基礎(chǔ)圖表庫(kù)適配器模塊,從而使得可以調(diào)用該適配器模塊的render方法。
接著,在圖表庫(kù)適配器的render方法中,將通用圖表配置commonOption和基礎(chǔ)圖表庫(kù)自身的配置baseOption來(lái)兩個(gè)參數(shù)來(lái)構(gòu)造自身圖表庫(kù)所需要的參數(shù)option。
最后,調(diào)用相應(yīng)基礎(chǔ)圖表庫(kù)的外部調(diào)用接口,把自身需要的參數(shù)option作為入口參數(shù)進(jìn)行調(diào)用,從而渲染所需要的圖表。
綜上,本申請(qǐng)可以實(shí)現(xiàn)效果如下:
1、集成的圖表庫(kù)集成了現(xiàn)有主流的一些圖表庫(kù),在實(shí)際開(kāi)發(fā)項(xiàng)目中可以按需加載,如有需要用到多種圖表庫(kù)的圖表場(chǎng)景,通過(guò)本方案可以直接使用該圖表庫(kù)一個(gè)就可以解決需求。
2、集成的圖表庫(kù)減少了團(tuán)隊(duì)之間學(xué)習(xí)成本和重復(fù)勞動(dòng),使用該集成通用圖表庫(kù)可以使用通用的配置、統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和共用使用方法來(lái)實(shí)現(xiàn),操作簡(jiǎn)單。
需要說(shuō)明的是,在一種可選地實(shí)施例中,也可以自定義一個(gè)圖表庫(kù)而不是集成圖表庫(kù),也可以達(dá)到“通用的配置項(xiàng)、統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和共用使用方法”的技術(shù)效果。
實(shí)施例2
本發(fā)明實(shí)施例還可以提供一種渲染圖表的裝置,如圖3所示,該裝置可以包括:
定義單元30,用于對(duì)圖表庫(kù)集合中的每個(gè)圖表庫(kù)定義對(duì)應(yīng)的圖表庫(kù)適配器模塊,生成多個(gè)圖表庫(kù)適配器模塊;確定單元34,用于根據(jù)接收到的渲染指令確定多個(gè)圖表庫(kù)適配器模塊中的第一適配器模塊,其中,第一適配器模塊對(duì)應(yīng)圖表庫(kù)集合中的第一圖表庫(kù),第一圖表庫(kù)中包含目標(biāo)圖表;渲染單元36,用于調(diào)用第一適配器模塊來(lái)渲染目標(biāo)圖表。
通過(guò)本技術(shù)方案,可以實(shí)現(xiàn)一個(gè)集成的通用的圖表庫(kù),用戶(hù)在需要渲染圖表時(shí),只需在渲染指令中定義相關(guān)的參數(shù)即可以從預(yù)先集成的圖表庫(kù)中,渲染到符合自己需求的圖表,解決了相關(guān)技術(shù)在根據(jù)不同的需求渲染圖表的過(guò)程中,由于每種需求下引入的圖表可以相同,因此會(huì)使得圖表引入重復(fù),浪費(fèi)系統(tǒng)資源的缺陷。這里需要說(shuō)明的是,由于針對(duì)每個(gè)圖表庫(kù)都是按照統(tǒng)一的AMD規(guī)范來(lái)定義每個(gè)圖表庫(kù)對(duì)應(yīng)的適配器模塊,因此本方案還可以實(shí)現(xiàn)了在使用圖表庫(kù)時(shí)可以通過(guò)通用的配置項(xiàng),統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和公共的使用方法來(lái)渲染圖表的技術(shù)效果。
可選地,上述確定單元34可以包括:
獲取模塊,用于通過(guò)通用的圖表配置中的類(lèi)型屬性獲取類(lèi)型屬性對(duì)應(yīng)的第一適配器模塊。
可選地,渲染單元36可以包括:調(diào)用模塊,用于調(diào)用第一適配器模塊中的外部調(diào)用接口,其中,外部調(diào)用接口用于以通用的圖表配置和基礎(chǔ)圖表庫(kù)的配置作為入口參數(shù)來(lái)構(gòu)造渲染目標(biāo)圖表所需的參數(shù)。渲染模塊,用于根據(jù)渲染目標(biāo)圖表所需的參數(shù)渲染目標(biāo)圖表。
可選地,通用的圖表配置還包括:數(shù)據(jù)源屬性、通用圖表配置屬性以及渲染容器。
可選地,渲染模塊包括:子處理模塊,將渲染目標(biāo)圖表所需的參數(shù)作為第一圖表庫(kù)的外部調(diào)用接口的入口參數(shù);子渲染模塊,用于調(diào)用第一圖表庫(kù)的外部調(diào)用接口,渲染目標(biāo)圖表。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán) 等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。