本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種web客戶端中圖表的繪制方法及裝置。
背景技術(shù):
傳統(tǒng)技術(shù)中,當(dāng)不需要對數(shù)據(jù)進(jìn)行復(fù)雜的分析、計(jì)算等操作,就可以進(jìn)行圖表的繪制時,可以直接在web客戶端中完成圖表的繪制;當(dāng)需要在對數(shù)據(jù)進(jìn)行復(fù)雜的分析、計(jì)算等操作之后,才能進(jìn)行圖表的繪制時,首先需要通過專門的數(shù)據(jù)分析工具(如,基于r語言的可視化分析工具)對數(shù)據(jù)進(jìn)行分析、計(jì)算等操作,此處,數(shù)據(jù)分析工具對應(yīng)的編程語言與web客戶端對應(yīng)的編程語言不同,所以在對數(shù)據(jù)進(jìn)行分析、計(jì)算等操作之后,只能在數(shù)據(jù)分析工具中進(jìn)行圖表的繪制,而無法在web客戶端中進(jìn)行該圖表的繪制;由此可以看出,傳統(tǒng)技術(shù)中web客戶端可繪制的圖表具有局限性。
技術(shù)實(shí)現(xiàn)要素:
本申請描述了一種web客戶端中圖表的繪制方法及裝置,可以提高web客戶端可繪制圖表的廣泛性。
第一方面,提供了一種web客戶端中圖表的繪制方法,該方法包括:
輸入采用第一語言編寫的語句代碼;
對所述語句代碼進(jìn)行語法分析,以確定所述語句代碼是否為用于繪制圖形的語句代碼;
當(dāng)確定所述語句代碼是用于繪制圖形的語句代碼時,向web服務(wù)器發(fā)送數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求用于指示所述web服務(wù)器獲取所述語句代碼對應(yīng)的數(shù)據(jù)集;
接收所述web服務(wù)器發(fā)送的所述數(shù)據(jù)集,將所述語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句;
根據(jù)所述繪圖語句以及所述數(shù)據(jù)集,在所述web客戶端中繪制圖表。
第二方面,提供了一種web客戶端中圖表的繪制裝置,該裝置包括:
輸入單元,用于輸入采用第一語言編寫的語句代碼;
分析單元,用于對所述輸入單元輸入的所述語句代碼進(jìn)行語法分析,以確定所述語句代碼是否為用于繪制圖形的語句代碼;
發(fā)送單元,用于當(dāng)所述分析單元確定所述語句代碼是用于繪制圖形的語句代碼時,向web服務(wù)器發(fā)送數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求用于指示所述web服務(wù)器獲取所述語句代碼對應(yīng)的數(shù)據(jù)集;
接收單元,用于接收所述web服務(wù)器發(fā)送的所述數(shù)據(jù)集;
轉(zhuǎn)換單元,用于將所述語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句;
繪制單元,用于根據(jù)所述轉(zhuǎn)換單元得到的所述繪圖語句以及所述接收單元接收的所述數(shù)據(jù)集,在所述web客戶端中繪制圖表。
本申請?zhí)峁┑膚eb客戶端中圖表的繪制方法及裝置,可以對輸入的采用第一語言編寫的語句代碼進(jìn)行分析,從而判斷該語句代碼是否為用于繪制圖形的語句代碼;當(dāng)該語句代碼是用于繪制圖形的語句代碼時,可以從web服務(wù)器中獲取該語句代碼對應(yīng)的數(shù)據(jù)集,并將該繪制圖表的語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句;之后根據(jù)上述數(shù)據(jù)集以及繪圖語句,在web客戶端中繪制圖表;也即本申請可以將采用其它語言編寫的圖形繪制語句轉(zhuǎn)化為web客戶端對應(yīng)的繪圖語句,從而可以進(jìn)一步在web客戶端中進(jìn)行圖表的繪制,由此,提高了web客戶端可繪制圖表的廣泛性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本申請?zhí)峁┑膚eb客戶端中圖表的繪制方法的應(yīng)用場景示意圖;
圖2為本申請一種實(shí)施例提供的web客戶端中圖表的繪制方法流程圖;
圖3為本申請?zhí)峁┑囊环N圖表的示意圖;
圖4為本申請另一種實(shí)施例提供的web客戶端中圖表的繪制方法的信息交互圖;
圖5為本申請?zhí)峁┑膚eb客戶端中圖表的繪制裝置示意圖。
具體實(shí)施方式
下面結(jié)合附圖,對本發(fā)明的實(shí)施例進(jìn)行描述。
本申請實(shí)施例提供的web客戶端中圖表的繪制方法適用于根據(jù)其它語言編寫的圖形繪制語句在web客戶端中繪制圖表的場景,此處的其它語言可以是指數(shù)據(jù)分析工具對應(yīng)的編程語言,其通常不是web客戶端對應(yīng)的編程語言。在一個例子中,上述其它語言可以是指r語言或者matlab語言等,而web客戶端對應(yīng)的編程語言則可以為javascript語言等。在本說明書中,以其它語言為r語言為例進(jìn)行說明。此外,上述圖表可以是指所有常見的圖表,如點(diǎn)圖、線圖、區(qū)域圖、柱狀圖以及餅圖等。
圖1為本申請?zhí)峁┑膚eb客戶端中圖表的繪制方法的應(yīng)用場景示意圖,圖1中,web客戶端可以包括r語言命令行工具101和圖表繪制模塊102,r語言命令行工具101可以是在web客戶端被啟動時就開始運(yùn)行,具體地,r語言命令行工具101在運(yùn)行之后,可以對輸入的采用r語言編寫的語句代碼(簡稱r語句)進(jìn)行語法分析,以確定該語句代碼是否為用于繪制圖形的語句代碼;如果該語句代碼是用于繪制圖形的語句代碼,則可以將該語句代碼發(fā)送至圖表繪制模塊102;圖表繪制模塊102在接收到該語句代碼之后,可以從web服務(wù)器獲取該語句代碼對應(yīng)的數(shù)據(jù)集,其中,該數(shù)據(jù)集可以是指數(shù)據(jù)分析工具對原始數(shù)據(jù)進(jìn)行復(fù)雜的分析、計(jì)算等操作之后得到的數(shù)據(jù)結(jié)果,此處,數(shù)據(jù)分析工具對數(shù)據(jù)進(jìn)行的復(fù)雜的分析、計(jì)算等操作可以是基于r語言進(jìn)行的;之后圖表繪制模塊102可以將上述語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句(如,javascript語句);最后圖表繪制模塊102可以根據(jù)獲取的數(shù)據(jù)集以及web客戶端對應(yīng)的繪圖語句,在web客戶端中繪制圖表。
需要說明的是,上述是在語句代碼是用于繪制圖形的語句代碼的情況下,r語言命令行工具101所執(zhí)行的操作,當(dāng)該語句代碼不是用于繪制圖形的語句代碼時,可以將該語句代碼發(fā)送至web服務(wù)器,由web服務(wù)器執(zhí)行該語句代碼,并返回執(zhí)行結(jié)果。具體地,web服務(wù)器可以包括數(shù)據(jù)服務(wù)模塊103和r語言服務(wù)模塊104,其中,數(shù)據(jù)服務(wù)模塊103用于獲取與圖像繪制模塊102發(fā)送的語句代碼相對應(yīng)的數(shù)據(jù)集,并將獲取的數(shù)據(jù)集發(fā)送給圖像繪制模塊102;r語言服務(wù)模塊104用于執(zhí)行r語言命令行工具101發(fā)送的語句代碼,并將該語句代碼的執(zhí)行結(jié)果返回給r語言命令行工具101。
圖2為本申請一種實(shí)施例提供的web客戶端中圖表的繪制方法流程圖。所述方法的執(zhí)行主體可以為圖1中的web客戶端,如圖2所示,所述方法具體可以包括:
步驟210,輸入采用第一語言編寫的語句代碼。
此處可以是向r語言命令行工具101輸入采用第一語言編寫的語句代碼。
上述第一語言可以是指數(shù)據(jù)分析工具對應(yīng)的編程語言,其通常與web客戶端對應(yīng)的編程語言不同。在一個例子中,該第一語言可以是指r語言。在第一語言為r語言時,上述第一語言編寫的語句代碼也可以稱為r語句。
步驟220,對語句代碼進(jìn)行語法分析,以確定語句代碼是否為用于繪制圖形的語句代碼。
此處,可以是由r語言命令行工具101對語句代碼進(jìn)行語法分析。
其中,步驟220具體可以包括:
對語句代碼進(jìn)行語法分析,以確定語句代碼是否包含預(yù)設(shè)的繪圖函數(shù);
當(dāng)語句代碼包含預(yù)設(shè)的繪圖函數(shù)時,確定語句代碼是用于繪制圖形的語句代碼。
上述預(yù)設(shè)的繪圖函數(shù)可以根據(jù)不同的語言來預(yù)先設(shè)定。舉例來說,在第一語言為r語言時,預(yù)設(shè)的繪圖函數(shù)可以為:g2()、point()等。在預(yù)設(shè)的繪圖函數(shù)為上述兩個函數(shù)的情況下,則如下兩行語句代碼均可以確定為用于繪制圖形的語句代碼。
p<-g2(data=small,mapping=attrs(x=carat,y=price,color=cut));
g2_point(p);
其中,因?yàn)榈谝恍姓Z句代碼包含了預(yù)設(shè)的繪圖函數(shù):g2();第二行語句代碼中包含了預(yù)設(shè)的繪圖函數(shù):point(),所以上述兩行語句代碼均可以確定為用于繪制圖形的語句代碼。
當(dāng)然,在實(shí)際應(yīng)用中,在第一語言為其它語言時,上述預(yù)設(shè)的繪圖函數(shù)也可以設(shè)定為其它函數(shù),如,第一語言為matlab時,預(yù)設(shè)的繪圖函數(shù)可以為:fplot()或者stem()等,本申請對此不作限定。
步驟230,當(dāng)確定語句代碼是用于繪制圖形的語句代碼時,向web服務(wù)器發(fā)送數(shù)據(jù)獲取請求,該數(shù)據(jù)獲取請求用于指示web服務(wù)器獲取語句代碼對應(yīng)的數(shù)據(jù)集。
此處,r語言命令行工具101在確定語句代碼是用于繪制圖形的語句代碼時,可以將該語句代碼發(fā)送至圖表繪制模塊102,由圖表繪制模塊102向web服務(wù)器的數(shù)據(jù)服務(wù)模塊103發(fā)送數(shù)據(jù)獲取請求,數(shù)據(jù)服務(wù)模塊103在接收到數(shù)據(jù)獲取請求之后,獲取該語句代碼對應(yīng)的數(shù)據(jù)集;之后數(shù)據(jù)服務(wù)模塊103將獲取的數(shù)據(jù)集發(fā)送至圖表繪制模塊102。在一個例子中,圖表繪制模塊102可以通過函數(shù):data()來獲取數(shù)據(jù)集,該函數(shù)的輸入?yún)?shù)可以為數(shù)據(jù)集的名稱。
此處的數(shù)據(jù)集可以是指數(shù)據(jù)分析工具對原始數(shù)據(jù)進(jìn)行復(fù)雜的分析、計(jì)算等操作之后得到的數(shù)據(jù)結(jié)果。以原始數(shù)據(jù)為淘寶網(wǎng)系統(tǒng)中的業(yè)務(wù)數(shù)據(jù)為例來說,該原始數(shù)據(jù)可以是指一天的包裹數(shù)量以及店鋪的成交額等;而數(shù)據(jù)集中的數(shù)據(jù)則可以是指一段時間的平均值、平均值、最高值等數(shù)據(jù)。
步驟240,接收web服務(wù)器發(fā)送的數(shù)據(jù)集,將語句代碼轉(zhuǎn)換為web客戶端所能識別的繪圖語句。
此處,可以是由圖表繪制模塊102接收數(shù)據(jù)服務(wù)模塊103發(fā)送的數(shù)據(jù)集。圖表繪制模塊102在接收到數(shù)據(jù)集之后,可以對接收的數(shù)據(jù)集進(jìn)行預(yù)處理,此處的預(yù)處理可以包括:從數(shù)據(jù)集中選取預(yù)設(shè)數(shù)量的數(shù)據(jù)記錄等。可以理解的是,數(shù)據(jù)集中的數(shù)據(jù)量比較巨大,其通常包含了幾萬條的數(shù)據(jù)記錄,而繪制圖表可能只需要預(yù)設(shè)數(shù)量(如,1000條)的數(shù)據(jù)記錄即可。
當(dāng)然,在實(shí)際應(yīng)用中,當(dāng)數(shù)據(jù)集中的數(shù)據(jù)量比較小時,可以不執(zhí)行上述對數(shù)據(jù)集進(jìn)行預(yù)處理的步驟。
以繪制展示鉆石的克拉數(shù)與價(jià)格之間的關(guān)系的點(diǎn)圖圖表為例來說,獲取鉆石的數(shù)據(jù)集(diamonds)以及對鉆石的數(shù)據(jù)集進(jìn)行預(yù)處理的過程可以如下所示:
require(ggplot2)//載入ggplot2的包,為了便于使用r語言的繪圖函數(shù)
data(diamonds)//獲取鉆石的數(shù)據(jù)集
set.seed(42)//設(shè)置獲取隨機(jī)數(shù)的方式
small<-diamonds[sample(nrow(diamonds),1000),]//從鉆石的數(shù)據(jù)集中隨機(jī)獲取1000條數(shù)據(jù)
head(small,n=3l)//從1000條數(shù)據(jù)中隨機(jī)選取3條數(shù)據(jù),以便查看數(shù)據(jù)集所包含的字段以及各個字段的類型。
假設(shè)獲取的3條數(shù)據(jù)如表1所示:
表1
從表1中可以看出,鉆石的數(shù)據(jù)集中包含了:鉆石的克拉數(shù)(carat)、鉆石的切割工藝(cut)、鉆石的顏色(color)、鉆石的品質(zhì)(clarity)、鉆石的規(guī)整程度(depth)、鉆石的價(jià)格(price)等字段。
在接收到數(shù)據(jù)集之后,或者在接收到數(shù)據(jù)集并對數(shù)據(jù)集進(jìn)行預(yù)處理之后,可以將采用第一語言編寫的語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句,該轉(zhuǎn)換過程具體可以為:
從存儲單元中讀取語句代碼中包含的預(yù)設(shè)的繪圖函數(shù)對應(yīng)的目標(biāo)繪圖函數(shù),其中,預(yù)設(shè)的繪圖函數(shù)采用第一語言編寫,目標(biāo)繪圖函數(shù)采用第二語言編寫,第二語言是指web客戶端所能識別的語言,存儲單元用于記錄采用第一語言編寫的繪圖函數(shù)與采用第二語言編寫的繪圖函數(shù)的對應(yīng)關(guān)系;
將預(yù)設(shè)的繪圖函數(shù)替換為目標(biāo)繪圖函數(shù),從而得到web客戶端對應(yīng)的繪圖語句。
以第一語言為r語言,第二語言為javascript語言為例來說,存儲單元的內(nèi)容可以如表2所示。
表2
如前述例子,假設(shè)用于繪制圖形的語句代碼如下:
p<-g2(data=small,mapping=attrs(x=carat,y=price,color=cut));
g2_point(p);
則轉(zhuǎn)換后的web客戶端所能識別的繪圖語句如下:
chart.source(data)
chart.point()
.position(‘carat*price’)
.color(‘cut’)
chart.render();
步驟250,根據(jù)繪圖語句以及數(shù)據(jù)集,在web客戶端中繪制圖表。
其中,步驟250具體可以包括:
判斷繪圖語句的目標(biāo)繪圖函數(shù)是否包含輸入?yún)?shù);
當(dāng)目標(biāo)繪圖函數(shù)包含輸入?yún)?shù)時,從數(shù)據(jù)集中選取輸入?yún)?shù)對應(yīng)的數(shù)據(jù);
將數(shù)據(jù)作為輸入?yún)?shù)的參數(shù)值,根據(jù)目標(biāo)繪圖函數(shù),在web客戶端中繪制圖表。
以前述獲得的web客戶端對應(yīng)的繪圖語句為例來說,目標(biāo)繪圖函數(shù):chart.source()、chart.position()以及chart.color()均包含了輸入?yún)?shù),當(dāng)數(shù)據(jù)集為鉆石的數(shù)據(jù)集時,可以從鉆石的數(shù)據(jù)集中選取“carat”字段的內(nèi)容、“price”字段的內(nèi)容以及“cut”字段的內(nèi)容;并將整個鉆石的數(shù)據(jù)集作為目標(biāo)繪圖函數(shù):chart.source()的輸入?yún)?shù)的參數(shù)值;而將鉆石的數(shù)據(jù)集中“carat”字段的內(nèi)容和“price”字段的內(nèi)容作為目標(biāo)繪圖函數(shù):chart.position()的輸入?yún)?shù)的參數(shù)值,將鉆石的數(shù)據(jù)集中“cut”字段的內(nèi)容作為目標(biāo)繪圖函數(shù):chart.color()的輸入?yún)?shù)的參數(shù)值,根據(jù)目標(biāo)繪圖函數(shù),在web客戶端中繪制的圖表可以如圖3所示,圖3中,將“carat”字段的內(nèi)容映射到了圖表的x軸方向,將“price”字段的內(nèi)容映射到了y軸方向,“cut”字段的不同內(nèi)容用不同的顏色來表示。
綜上,本申請實(shí)現(xiàn)了根據(jù)數(shù)據(jù)分析工具對數(shù)據(jù)的分析、計(jì)算結(jié)果,在web客戶端中繪制圖表的功能;也即既利用了數(shù)據(jù)分析工具強(qiáng)大的數(shù)據(jù)分析能力,又可以直接在web客戶端中繪制圖表,從而達(dá)到了將原本相分離的兩個過程:數(shù)據(jù)的分析、計(jì)算過程和繪制圖表的過程融合到一起的目的。
需要說明的是,上述步驟210-步驟250是在確定采用第一語言編寫的語句代碼是用于繪制圖形的語句代碼的情況下,web客戶端與web服務(wù)器之間的信息交互過程,當(dāng)確定語句代碼不是用于繪制圖形的語句代碼時,向web服務(wù)器發(fā)送語句代碼,以用于web服務(wù)器執(zhí)行語句代碼;接收web服務(wù)器返回的語句代碼的執(zhí)行結(jié)果。
下面結(jié)合圖4,以一個實(shí)際的繪制圖表的過程為例,如,以繪制展示鉆石的克拉數(shù)與價(jià)格之間的關(guān)系的點(diǎn)圖圖表為例,對本申請作進(jìn)一步詳細(xì)描述:
步驟410,r語言命令行工具101向r語言服務(wù)模塊104發(fā)送語句代碼:require(ggplot2)。
此處,由于語句代碼:require(ggplot2)不是用于繪制圖形的語句代碼,所以r語言命令行工具101將該語句代碼發(fā)送至r語言服務(wù)模塊104,由r語言服務(wù)模塊104執(zhí)行該語句代碼,并向r語言命令行工具101返回執(zhí)行結(jié)果,此處的執(zhí)行結(jié)果可以為:r語言服務(wù)模塊104在r語言命令行工具101中載入ggplot2包。
步驟420,r語言命令行工具101向r語言服務(wù)模塊104發(fā)送語句代碼:data(diamonds)。
基于與上述語句代碼同樣的理由,由r語言服務(wù)模塊104執(zhí)行該語句代碼,執(zhí)行結(jié)果是:獲取所請求的鉆石的數(shù)據(jù)集。
步驟430,r語言命令行工具101向r語言服務(wù)模塊104發(fā)送語句代碼:set.seed(42)。
基于與上述語句代碼同樣的理由,由r語言服務(wù)模塊104執(zhí)行該語句代碼,執(zhí)行結(jié)果是:設(shè)定向r語言命令行工具101返回的數(shù)據(jù)量。
步驟440,r語言命令行工具101向r語言服務(wù)模塊104發(fā)送語句代碼:small<-diamonds[sample(nrow(diamonds),1000),]。
基于與上述語句代碼同樣的理由,由r語言服務(wù)模塊104執(zhí)行該語句代碼,執(zhí)行結(jié)果是:從數(shù)據(jù)集中獲取1000條數(shù)據(jù)記錄。
步驟450,r語言命令行工具101向r語言服務(wù)模塊104發(fā)送語句代碼:head(small,n=3l)。
基于與上述語句代碼同樣的理由,由r語言服務(wù)模塊104執(zhí)行該語句代碼,執(zhí)行結(jié)果是:向r語言服務(wù)模塊104返回1000條數(shù)據(jù)記錄中的前3條數(shù)據(jù)記錄。
步驟460,r語言命令行工具101向圖表繪制模塊102發(fā)送語句代碼:p<-g2(data=small,mapping=attrs(x=carat,y=price,color=cut))。
此處,由于語句代碼:p<-g2(data=small,mapping=attrs(x=carat,y=price,color=cut))是用于繪制圖形的語句代碼,所以r語言命令行工具101將該語句代碼發(fā)送至圖表繪制模塊102。
步驟470,圖表繪制模塊102獲取該語句代碼對應(yīng)的數(shù)據(jù)集:diamonds。
步驟480,將上述語句代碼轉(zhuǎn)換為如下的繪圖語句:
chart.source(data)
chart.point()
.position(‘carat*price’)
.color(‘cut’)
并執(zhí)行上述繪圖語句。
步驟490,r語言命令行工具101向圖表繪制模塊102發(fā)送語句代碼:g2_point(p)。
步驟4100,圖表繪制模塊102將該語句代碼轉(zhuǎn)換為如下的繪圖語句:
chart.render()
并執(zhí)行上述繪圖語句,從而達(dá)到了在數(shù)據(jù)分析工具中對數(shù)據(jù)進(jìn)行分析、計(jì)算等操作,之后根據(jù)計(jì)算結(jié)果在web客戶端中繪制圖表的目的。從而使得在web客戶端中不僅能夠根據(jù)簡單的數(shù)據(jù),進(jìn)行圖表的繪制;而且也能夠根據(jù)數(shù)據(jù)分析工具的分析、計(jì)算結(jié)果,進(jìn)行圖表的繪制,也即提高了web客戶端中可繪制圖表的廣泛性。
需要說明的是,本申請?jiān)趙eb客戶端中繪制的圖表具有交互功能,如,鼠標(biāo)移動到圖表上展示詳細(xì)信息、對數(shù)據(jù)進(jìn)行篩選(某些分類的數(shù)據(jù)不顯示,僅僅展示某個時間段的數(shù)據(jù))等。
與上述web客戶端中圖表的繪制方法對應(yīng)地,本申請實(shí)施例還提供的一種web客戶端中圖表的繪制裝置,如圖5所示,該裝置包括:
輸入單元501,用于輸入采用第一語言編寫的語句代碼。
分析單元502,用于對輸入單元501輸入的語句代碼進(jìn)行語法分析,以確定語句代碼是否為用于繪制圖形的語句代碼。
發(fā)送單元503,用于當(dāng)分析單元502確定語句代碼是用于繪制圖形的語句代碼時,向web服務(wù)器發(fā)送數(shù)據(jù)獲取請求,該數(shù)據(jù)獲取請求用于指示web服務(wù)器獲取語句代碼對應(yīng)的數(shù)據(jù)集。
接收單元504,用于接收web服務(wù)器發(fā)送的數(shù)據(jù)集。
轉(zhuǎn)換單元505,用于將語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句。
繪制單元506,用于根據(jù)轉(zhuǎn)換單元505得到的繪圖語句以及接收單元504接收的數(shù)據(jù)集,在web客戶端中繪制圖表。
需要說明的是,上述輸入單元501和分析單元502可以由圖1中的r語言命令行工具101實(shí)現(xiàn);發(fā)送單元503、接收單元504、轉(zhuǎn)換單元505以及繪制單元506可以由圖1中的圖表繪制模塊102實(shí)現(xiàn)。
可選地,分析單元502具體可以用于:
對語句代碼進(jìn)行語法分析,以確定語句代碼是否包含預(yù)設(shè)的繪圖函數(shù);
當(dāng)語句代碼包含預(yù)設(shè)的繪圖函數(shù)時,確定語句代碼是用于繪制圖形的語句代碼。
可選地,轉(zhuǎn)換單元505具體可以用于:
從存儲單元中讀取語句代碼中包含的預(yù)設(shè)的繪圖函數(shù)對應(yīng)的目標(biāo)繪圖函數(shù),其中,預(yù)設(shè)的繪圖函數(shù)采用第一語言編寫,目標(biāo)繪圖函數(shù)采用第二語言編寫,第二語言是指web客戶端對應(yīng)的語言,存儲單元用于記錄采用第一語言編寫的繪圖函數(shù)與采用第二語言編寫的繪圖函數(shù)的對應(yīng)關(guān)系;
將預(yù)設(shè)的繪圖函數(shù)替換為目標(biāo)繪圖函數(shù),從而得到web客戶端對應(yīng)的繪圖語句。
可選地,繪制單元506具體可以用于:
判斷繪圖語句的目標(biāo)繪圖函數(shù)是否包含輸入?yún)?shù);
當(dāng)目標(biāo)繪圖函數(shù)包含輸入?yún)?shù)時,從數(shù)據(jù)集中選取輸入?yún)?shù)對應(yīng)的數(shù)據(jù);
將數(shù)據(jù)作為輸入?yún)?shù)的參數(shù)值,根據(jù)目標(biāo)繪圖函數(shù),在web客戶端中繪制圖表。
可選地,發(fā)送單元503,還用于當(dāng)確定語句代碼不是用于繪制圖形的語句代碼時,向web服務(wù)器發(fā)送語句代碼,以用于web服務(wù)器執(zhí)行語句代碼;
接收單元504,還用于接收web服務(wù)器返回的語句代碼的執(zhí)行結(jié)果。
本申請實(shí)施例裝置的各功能模塊的功能,可以通過上述方法實(shí)施例的各步驟來實(shí)現(xiàn),因此,本申請?zhí)峁┑难b置的具體工作過程,在此不復(fù)贅述。
本申請?zhí)峁┑膚eb客戶端中圖表的繪制方法,輸入單元501輸入采用第一語言編寫的語句代碼;分析單元502對語句代碼進(jìn)行語法分析,以確定語句代碼是否為用于繪制圖形的語句代碼;當(dāng)確定語句代碼是用于繪制圖形的語句代碼時,發(fā)送單元503向web服務(wù)器發(fā)送數(shù)據(jù)獲取請求;接收單元504接收web服務(wù)器發(fā)送的數(shù)據(jù)集;轉(zhuǎn)換單元505將語句代碼轉(zhuǎn)換為web客戶端對應(yīng)的繪圖語句;繪制單元506根據(jù)繪圖語句以及數(shù)據(jù)集,在web客戶端中繪制圖表。由此,提高了web客戶端可繪制圖表的廣泛性。
本領(lǐng)域技術(shù)人員應(yīng)該可以意識到,在上述一個或多個示例中,本發(fā)明所描述的功能可以用硬件、軟件、固件或它們的任意組合來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時,可以將這些功能存儲在計(jì)算機(jī)可讀介質(zhì)中或者作為計(jì)算機(jī)可讀介質(zhì)上的一個或多個指令或代碼進(jìn)行傳輸。
以上所述的具體實(shí)施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的技術(shù)方案的基礎(chǔ)之上,所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包括在本發(fā)明的保護(hù)范圍之內(nèi)。