一種繪圖方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖形圖像領(lǐng)域,尤其涉及一種繪圖方法及系統(tǒng)。
【背景技術(shù)】
[0002]面對(duì)日益增多的各種大批量的數(shù)據(jù)繪制圖形的需求,繪制圖形時(shí),為使數(shù)據(jù)的表現(xiàn)形式更加直觀生動(dòng),我們常需要用到階梯圖,曲線圖等。PowerBuilder是一種可視化、面向?qū)ο蟮目焖匍_(kāi)發(fā)工具,是優(yōu)秀的數(shù)據(jù)庫(kù)前端開(kāi)發(fā)工具。PowerBuilder中自帶的統(tǒng)計(jì)圖(Graph)控件,在繪制散列圖、餅圖、柱形圖等統(tǒng)計(jì)圖時(shí)比較方便,但不適合繪制專業(yè)的數(shù)據(jù)圖形。
[0003]現(xiàn)有技術(shù)的一個(gè)方案公開(kāi)了:在PowerBuilder開(kāi)發(fā)環(huán)境中,利用Windows API函數(shù)中的圖形設(shè)備接口函數(shù)實(shí)現(xiàn)繪圖。但此方法依賴于Windows開(kāi)放出的圖形設(shè)備接口,SP程序移植時(shí),必須首先配置好Windows系統(tǒng)環(huán)境,以及繪圖所依賴的繪圖軟件環(huán)境。這不利于跨平臺(tái)開(kāi)發(fā)。此外,Windows API函數(shù)的開(kāi)發(fā)難度大,不利于初學(xué)者使用。
[0004]現(xiàn)有技術(shù)的另一個(gè)方案公開(kāi)了:利用動(dòng)態(tài)數(shù)據(jù)窗口技術(shù)實(shí)現(xiàn)繪圖,仍是調(diào)用PowerBuilder中的Graph控件繪制圖形,再利用數(shù)據(jù)窗口的屬性進(jìn)行略微調(diào)整,但其所設(shè)計(jì)的方法不夠完整。
【發(fā)明內(nèi)容】
[0005]基于現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種繪圖方法及系統(tǒng),以解決現(xiàn)有技術(shù)中繪圖方法不全面的技術(shù)問(wèn)題。
[0006]第一方面,本發(fā)明提供一種繪圖方法,包括:
[0007]確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位;
[0008]根據(jù)橫坐標(biāo)軸的所述數(shù)值范圍、所述數(shù)據(jù)間隔及所述數(shù)據(jù)單位,繪制橫坐標(biāo)軸,以及根據(jù)縱坐標(biāo)軸的所述數(shù)值范圍、所述數(shù)據(jù)間隔及所述數(shù)據(jù)單位,繪制縱坐標(biāo)軸;
[0009]在所述繪制的橫坐標(biāo)軸和縱坐標(biāo)軸的范圍內(nèi)顯示所述待繪圖數(shù)據(jù)的各數(shù)據(jù)點(diǎn);
[0010]依次連接所述待繪圖數(shù)據(jù)的各數(shù)據(jù)點(diǎn),得到繪制的圖形。
[0011]可選地,在所述確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位之前,所述方法還包括:
[0012]獲取待繪圖的數(shù)據(jù),判斷所述待繪圖的數(shù)據(jù)中橫坐標(biāo)的個(gè)數(shù)與縱坐標(biāo)的個(gè)數(shù)是否相等;
[0013]當(dāng)所述待繪圖的數(shù)據(jù)中橫坐標(biāo)的個(gè)數(shù)與縱坐標(biāo)的個(gè)數(shù)相等時(shí),執(zhí)行所述確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位的步驟。
[0014]可選地,所述確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位,包括:
[0015]在接收到用戶輸入的繪圖參數(shù)時(shí),判斷X-是否大于X
[0016]當(dāng)Xnax大于X_時(shí),則計(jì)算(X _-x_) /Xspacing,并判斷(x_-x_) /xspa?ng的結(jié)果是否為整數(shù);
[0017]如果(X_-X_)/Xspa?ng的結(jié)果為整數(shù),則根據(jù)所述繪圖參數(shù)確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位;
[0018]其中,x_為橫坐標(biāo)軸最大值、X_為橫坐標(biāo)軸最小值、X spamng為橫坐標(biāo)軸數(shù)據(jù)間隔;
[0019]在接收到用戶輸入的繪圖參數(shù)時(shí),判斷7_是否大于y
[0020]當(dāng)ynax大于 Y _時(shí),則計(jì)算(y nax-y_) /yspacing,并判斷(y_-y_) /yspa?ng的結(jié)果是否為整數(shù);
[0021]如果(y_-y_)/yspa?ng的結(jié)果為整數(shù),則根據(jù)所述繪圖參數(shù)確定待繪圖數(shù)據(jù)的縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位;
[0022]其中,y_為縱坐標(biāo)軸最大值、y _為縱坐標(biāo)軸最小值、y spamng為縱坐標(biāo)軸數(shù)據(jù)間隔;
[0023]所述用戶輸入的繪圖參數(shù)包括:橫坐標(biāo)軸最大值Xmax、橫坐標(biāo)軸最小值Xmin、橫坐標(biāo)軸數(shù)據(jù)間隔Xspa?ng、橫坐標(biāo)軸數(shù)據(jù)單位Xtot、縱坐標(biāo)軸最大值y_、縱坐標(biāo)軸最小值y_、縱坐標(biāo)軸數(shù)據(jù)間隔yspa?ng及縱坐標(biāo)軸數(shù)據(jù)單位I texto
[0024]可選地,所述根據(jù)所述繪圖參數(shù)確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位,包括:
[0025]確定Xmax為橫坐標(biāo)軸的最大值,Xmin為橫坐標(biāo)軸的最小值,X _。_為橫坐標(biāo)軸的數(shù)據(jù)間隔,Xtext為橫坐標(biāo)軸的數(shù)據(jù)單位;
[0026]所述根據(jù)所述繪圖參數(shù)確定待繪圖數(shù)據(jù)的縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位,包括:
[0027]確定y_為縱坐標(biāo)軸的最大值,y _為縱坐標(biāo)軸的最小值,y spamng為縱坐標(biāo)軸的數(shù)據(jù)間隔,ytext為縱坐標(biāo)軸的數(shù)據(jù)單位。
[0028]可選地,所述確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位,包括:
[0029]在未接收到用戶輸入的繪圖參數(shù)時(shí),根據(jù)所述待繪圖數(shù)據(jù)的橫坐標(biāo)最大值X’ _、橫坐標(biāo)軸最小值X’ _、縱坐標(biāo)軸最大值I,_、縱坐標(biāo)軸最小值I,_、橫坐標(biāo)軸的數(shù)據(jù)單位X’ t-及縱坐標(biāo)軸的數(shù)據(jù)單位y’ ,確定橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位。
[0030]可選地,在所述依次連接所述待繪圖數(shù)據(jù)的各數(shù)據(jù)點(diǎn),得到繪制的圖形之后,所述方法還包括:
[0031]接收用戶輸入的繪圖優(yōu)化參數(shù),并根據(jù)所述繪圖優(yōu)化參數(shù)對(duì)所述繪制的圖形進(jìn)行優(yōu)化。
[0032]可選地,所述方法還包括:
[0033]當(dāng)所述待繪圖的數(shù)據(jù)中橫坐標(biāo)的個(gè)數(shù)與縱坐標(biāo)的個(gè)數(shù)不相等時(shí),則顯示第一提示信息,并結(jié)束繪圖。
[0034]可選地,所述方法還包括:
[0035]當(dāng)x_小于或等于X_時(shí)或y _小于或等于y _時(shí),則顯示第二提示信息,并結(jié)束繪圖。
[0036]可選地,所述方法還包括:
[0037]當(dāng)(Xnax-Xnin)/xspacing的結(jié)果為非整數(shù)時(shí)或(ynax_ynin)/Vspacing的結(jié)果為非整數(shù)時(shí),則顯示第三提示信息,并結(jié)束繪圖。
[0038]第二方面,本發(fā)明提供一種繪圖系統(tǒng),包括:
[0039]參數(shù)確定單元,用于確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位;
[0040]坐標(biāo)軸繪制單元,用于根據(jù)橫坐標(biāo)軸的所述數(shù)值范圍、所述數(shù)據(jù)間隔及所述數(shù)據(jù)單位,繪制橫坐標(biāo)軸,以及根據(jù)縱坐標(biāo)軸的所述數(shù)值范圍、所述數(shù)據(jù)間隔及所述數(shù)據(jù)單位,繪制縱坐標(biāo)軸;
[0041]數(shù)據(jù)點(diǎn)顯示單元,用于在所述繪制的橫坐標(biāo)軸和縱坐標(biāo)軸的范圍內(nèi)顯示所述待繪圖數(shù)據(jù)的各數(shù)據(jù)點(diǎn);
[0042]圖形繪制單元,用于依次連接所述待繪圖數(shù)據(jù)的各數(shù)據(jù)點(diǎn),得到繪制的圖形。
[0043]由上述技術(shù)方案可知,本發(fā)明的繪圖方法及系統(tǒng),可根據(jù)待繪圖數(shù)據(jù)確定圖形的橫坐標(biāo)軸以及縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位,更好的展示待繪圖數(shù)據(jù)的各數(shù)據(jù)點(diǎn)繪制出的專業(yè)圖形,如曲線圖,階梯圖等,以使工程人員及用戶更方便地對(duì)數(shù)據(jù)進(jìn)行分析處理。
【附圖說(shuō)明】
[0044]圖1為本發(fā)明一實(shí)施例提供的繪圖方法的流程示意圖;
[0045]圖2為本發(fā)明另一實(shí)施例提供的繪圖方法的流程示意圖;
[0046]圖3為本發(fā)明另一實(shí)施例提供的繪圖方法的流程示意圖;
[0047]圖4為本發(fā)明一實(shí)施例提供的繪圖系統(tǒng)的結(jié)構(gòu)示意圖;
[0048]圖5為本發(fā)明一實(shí)施例提供的控件界面示意圖;
[0049]圖6為本發(fā)明一實(shí)施例提供的控件工作流程示意圖;
[0050]圖7為本發(fā)明另一實(shí)施例提供的利用控件界面繪制專業(yè)圖形的示意圖。
【具體實(shí)施方式】
[0051]下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
[0052]圖1示出了本發(fā)明一實(shí)施例提供的繪圖方法的步驟示意圖。如圖1所示,本實(shí)施例的繪圖方法包括步驟Sll至S14。
[0053]S11、確定待繪圖數(shù)據(jù)的橫坐標(biāo)軸和縱坐標(biāo)軸的數(shù)值范圍、數(shù)據(jù)間隔及數(shù)據(jù)單位。
[0054]確定橫坐標(biāo)軸的所述數(shù)值范圍、所述數(shù)據(jù)間隔及所述數(shù)據(jù)單位以及縱坐標(biāo)軸的所述數(shù)值范圍、所述