oracle developer使用指南第8章高級(jí)圖形_第1頁(yè)
oracle developer使用指南第8章高級(jí)圖形_第2頁(yè)
oracle developer使用指南第8章高級(jí)圖形_第3頁(yè)
oracle developer使用指南第8章高級(jí)圖形_第4頁(yè)
oracle developer使用指南第8章高級(jí)圖形_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第8 高級(jí)圖OracleDeveloper的第三個(gè)主要組成部分—Graphics,通過(guò)使用生動(dòng)的圖形給應(yīng)用程序增(原文如此—譯者注),Graphics提供了方便地設(shè)計(jì)非常漂亮的應(yīng)用程序的能力。通過(guò)GraphicsRuntime系統(tǒng)(圖形運(yùn)行時(shí)系統(tǒng)),既可將這些圖形作為獨(dú)立的應(yīng)用程序顯示,也可將其作為表單或報(bào)表的內(nèi)嵌圖表。注意如果喜歡PL/SQL編程,并且準(zhǔn)備迎接挑戰(zhàn),則可以使用Graphics建所能想象出的任何圖形顯示。只要愿意去工作并設(shè)計(jì)出所需的幾何和邏輯需求,就可以利用Graphics庫(kù)中的數(shù)百個(gè)可用子程序去繪制和修改成所期望的任意形狀。關(guān)于這種高級(jí)程序設(shè)計(jì)能力的詳細(xì)說(shuō)明參見(jiàn)Graphics的聯(lián)機(jī)文檔。本章將介紹一些在應(yīng)用程序中創(chuàng)建圖形的基礎(chǔ)知識(shí),8.1重點(diǎn)介紹使用圖形的方法,其他幾節(jié)詳細(xì)介紹如何使用GraphicsBuilder創(chuàng)建所需的圖表。人們都喜歡看有大量圖形和可視對(duì)象的應(yīng)用程序。深入了解圖形效果及其表示數(shù)值的結(jié)構(gòu),將有助于創(chuàng)建需重使用的圖形對(duì)象。應(yīng)用程序中的圖形是表達(dá)信息的一部分形式,而并非僅僅是裝飾物。一個(gè)圖形就像一個(gè)單詞,只有表達(dá)清楚才能有效地傳遞它的信息。大部分人在他們的職業(yè)生涯中都接受過(guò)最基本的語(yǔ)言表達(dá)和寫(xiě)作能力方面的培訓(xùn),但很少有人接受圖形或圖形結(jié)構(gòu)方面的培訓(xùn)。為多學(xué)些這方面的知識(shí),本節(jié)提出一些建議和參考。然后本章將重點(diǎn)介紹用OracleDeveloper的Graphics能夠創(chuàng)建的圖形。首先要說(shuō),圖片能干什么?一張圖片能代替千言萬(wàn)語(yǔ),對(duì)嗎?很遺憾,但愿它能傳遞千言萬(wàn)語(yǔ)。如果所涉及的是要表達(dá)一個(gè)簡(jiǎn)單的事實(shí),采用圖片顯示就有點(diǎn)大材小用了,而且也許還會(huì)妨礙正確信息的表達(dá)。在應(yīng)用程序中使用圖片只是表示那些真實(shí)的信息,例如,不動(dòng)產(chǎn)查詢系統(tǒng)中的一個(gè)房子或公寓的圖片、人員資料數(shù)據(jù)庫(kù)中的個(gè)人圖片、銷售應(yīng)用程序中的產(chǎn)品圖片。其次,位圖標(biāo)志和圖標(biāo)能干什么?位圖的典型用處是顯示公司的標(biāo)志,如第4章的Talbot報(bào)表。要和公司交往聯(lián)系的人,只需通過(guò)應(yīng)用程序,就可形象地了解到與他合作的公司是什么樣子,這是個(gè)好辦法。然而,只在機(jī)構(gòu)內(nèi)部使用的應(yīng)用程序,這些商標(biāo)可能就是多余的。例如,在備忘錄上,公司微標(biāo)表示“法定的”的表怔特性,這些圖像與其說(shuō)是必需的,不如說(shuō)是為了裝飾用。圖標(biāo)的另一個(gè)主要用途是代表某些初始化動(dòng)作的按鈕,顯示某個(gè)窗口等等。例如,在工具欄中使用圖標(biāo)已經(jīng)相當(dāng)普及。要在應(yīng)用程序中創(chuàng)建大量的控制位圖,必須確認(rèn)這些位圖不影響應(yīng)用程序的信息表示。圖標(biāo)要盡量小而且慎重使用,或者將圖標(biāo)單獨(dú)放在自己的窗口中工具條是一個(gè)存放圖標(biāo)的好地方)。要想使圖標(biāo)發(fā)揮作用,在設(shè)計(jì)和測(cè)試時(shí)要花費(fèi)一些時(shí)第8章高級(jí)圖 173現(xiàn)在來(lái)深入討論復(fù)雜難懂的圖形顯示方面的問(wèn)題。用戶首先要決定的是:哪種圖形適合自己的應(yīng)用程序。要完成這一步,必須先確定希望通過(guò)圖形傳達(dá)一些什么信息。正如在一段文字中要清楚地表達(dá)出自己的論點(diǎn)一樣,在圖形中也要盡可能清楚地表示出主要內(nèi)容。如果搞不清楚主要內(nèi)容是什么,就不要使用圖形。另外,還應(yīng)盡量將主要內(nèi)容概括成圖表的標(biāo)題或題目,告訴讀者圖表的含義。一旦設(shè)計(jì)好主要內(nèi)容后,下一步必須確定要表達(dá)多少信息成分。曾經(jīng)將一件事與另一件事比較過(guò)嗎?根據(jù)日期比較過(guò)兩件事嗎?如有三組以上的信息,可能需要一個(gè)以上的圖表來(lái)顯示這些信息。接下來(lái),對(duì)于每一組信息,必須確定它們是定性的還是定量的。定性數(shù)據(jù)需要進(jìn)行歸類,如albot貨物供應(yīng)商的姓名。定量數(shù)據(jù)要用數(shù)字表示,如日期或數(shù)量。有的定性數(shù)據(jù)有隱含的順序,如按字母排序的名字、年齡分組、經(jīng)濟(jì)水平層次等?,F(xiàn)在可以根據(jù)以上信息決定使用哪種圖形了。例如,要顯示一組定性數(shù)據(jù)和一組定量數(shù)據(jù)組成的二維圖形,應(yīng)當(dāng)構(gòu)造一個(gè)餅圖、條形圖或柱狀圖。用圖形中的餅塊及條形直接有效地表示分類。第4章顯示過(guò)的銷售餅圖(圖8-1)表示了這種二維的定性/定量值圖表。定性部分是人,定量部分是此人的銷售數(shù)量總和。此圖的主要內(nèi)容是比較albot農(nóng)場(chǎng)最大顧客占總銷售量的比例,albot圖8-1表示Talbot如有多于一組的定量數(shù)據(jù),就不能使用餅圖表示,必須使用雙條圖表或柱形圖,如果表示數(shù)量增加,可堆疊各條形柱,如果要比較它們,也可以一個(gè)挨一個(gè)放置。例如,如果想比較不同類型Ledger活動(dòng)(Sold、Received、Paid、Bought)的現(xiàn)金流通情況,可使用圖8-2的條形圖。如果比較不包含類別數(shù)據(jù)的兩類數(shù)字的相對(duì)關(guān)系,可以使用折線圖或分布圖來(lái)表示數(shù)據(jù)的變化趨勢(shì),或用一個(gè)表來(lái)表示準(zhǔn)確數(shù)值,如圖8-3用三種樣式的折線圖表顯示albot農(nóng)場(chǎng)某段時(shí)間的總銷售量。對(duì)于總量的變化趨勢(shì)使用折線圖的陰影區(qū)來(lái)強(qiáng)調(diào)總量的大小。174第二部分OracleDeveloper圖8-2Talbot圖8-3Talbot盡管圖表可加許多細(xì)節(jié),但原則是應(yīng)盡量簡(jiǎn)單。重點(diǎn)是數(shù)據(jù),所以要確保細(xì)節(jié)不要影響數(shù)據(jù)。若有太多的標(biāo)記,或需要一個(gè)復(fù)雜的圖例,或有太多的組成部分,應(yīng)先簡(jiǎn)化圖表,否則便不能表達(dá)主要內(nèi)容。將數(shù)據(jù)元素變成圖表中最突出的元素。用合適的刻度線包圍數(shù)據(jù)區(qū),或用數(shù)據(jù)區(qū)外的刻度標(biāo)志顯示數(shù)據(jù)級(jí)別。不要使用太多的刻度標(biāo)志,以免信息不清楚,圖中用一參照線顯示重要數(shù)據(jù)(一個(gè)變化數(shù)據(jù)、一個(gè)特定事件日期等等)。如果需要強(qiáng)調(diào),可標(biāo)記個(gè)別的數(shù)據(jù)元素??赡艿那闆r下,盡量不用標(biāo)記而用圖形區(qū)分各個(gè)組成,使用OracleDeveloper中圖表屬性可完成以上大部分功能,余下的功能需要用觸發(fā)器編程完成,參見(jiàn)后面“為設(shè)置如果有多于一個(gè)的成分,為了幫助讀者理解,可以用標(biāo)題和圖例說(shuō)明數(shù)據(jù)區(qū)中的表示。圖例要放在數(shù)據(jù)區(qū)外。如使用專門的圖表,要使用圖例說(shuō)明圖表表示的含義。應(yīng)使用比例畫(huà)數(shù)據(jù)點(diǎn),但要避免用不常用的比例方式愚弄讀者。如果有多于一個(gè)的圖表,應(yīng)該采用相同的第第8章高級(jí)圖 比例,以便讀者可以比較它們,比例線上不要包含0,除非0還有兩個(gè)必須考慮的實(shí)際問(wèn)題。首先,應(yīng)該核對(duì)或測(cè)試圖表顯示,確保達(dá)到目的而沒(méi)有明顯的錯(cuò)誤。其次,要考慮如有人要打印此圖形的黑白顏色的拷貝,可能會(huì)發(fā)生什么情況。一個(gè)在監(jiān)視器上看起來(lái)很漂亮的圖表,當(dāng)從打印機(jī)打印出來(lái)時(shí)卻變成一團(tuán)黑色污點(diǎn),這可能會(huì)使某個(gè)職員變成該圖表的受害者。若想進(jìn)一步學(xué)習(xí)如何生成有效的圖形顯示,參考EdwardR.Tufte的《TheVisualDisplayofQuantitativeInformatin》(GraphicsPress,1983)一書(shū),以及WilliamS.Cleveland的《TheElementsofGraphingData》(WadsworthAdvancedBooksandSoftware,1985)一書(shū)。要進(jìn)一步深層研究這領(lǐng)域,參考JacquesBertin的《SemiologyofGraphics:Diagrams,Networks,Maps》(UniversityofWisconsinPress,1983)一書(shū)。 使用ChartGenie可創(chuàng)建許多不同的圖表。這個(gè)向?qū)紫葎?chuàng)建一個(gè)查詢,生成一個(gè)所要顯示的圖表的快速版本。然后可修改主要內(nèi)容區(qū)的結(jié)果。第4章已介紹了一個(gè)這一過(guò)程的簡(jiǎn)單例子,這個(gè)例子同時(shí)也介紹了如何將圖表插入表單和報(bào)表中。這一節(jié)將詳細(xì)介紹可以建立的查詢和圖表類型,以及可為每個(gè)類型圖表設(shè)置的屬性。OracleDeveloper顯示模板包括在圖形(Graphics)組件中定義的查詢和布局。一個(gè)圖表是帶有顯示區(qū)的一個(gè)特殊對(duì)象,并且顯示區(qū)可以有一個(gè)或多個(gè)圖表。另外,還可以有多個(gè)查詢,不同圖表使用不同的查詢或相同的查詢,或同一查詢的過(guò)濾子集。例如,可有一系列的餅圖,每個(gè)餅圖說(shuō)明數(shù)據(jù)的一個(gè)不同子集?;蛘呤褂靡粋€(gè)餅圖和一個(gè)折線圖,說(shuō)明一個(gè)變量與其他變量之間的關(guān)系。在ChartGenie中分別定義每個(gè)圖表,然后用LayoutEditor排列圖表,在整個(gè)顯示區(qū),為區(qū)別每個(gè)圖表的屬性,可為圖表添加標(biāo)題和圖例。插入圖形時(shí),是在顯示區(qū)插入的整個(gè)圖形顯示,而非圖表本身。要使用數(shù)據(jù)的查詢結(jié)構(gòu)決定要建立的圖表,同樣,圖表結(jié)構(gòu)取決于數(shù)據(jù)結(jié)構(gòu)。創(chuàng)建圖表/定量的區(qū)分,粒度實(shí)驗(yàn)和數(shù)據(jù)分組。.1第4章已介紹了如何使用ChartGenie和它的NewQuery屏幕為圖表構(gòu)造一個(gè)基本查詢和數(shù)據(jù)模型,本節(jié)對(duì)構(gòu)造過(guò)程做更為詳細(xì)的描述,對(duì)第4章演示的用ChartGenie建立查詢的過(guò)程,給出一些其他選擇方法。最后一小節(jié)介紹用單個(gè)查詢關(guān)聯(lián)多個(gè)圖表進(jìn)行數(shù)據(jù)過(guò)濾的方法。OracleDeveloper并不限制在ChartGenie中鍵入一條SELECT語(yǔ)句,有多種 高級(jí)用戶可以在ObjectNavigator中,通過(guò)查詢對(duì)象的PropertyPalette直接創(chuàng)建查詢。也可使用PL/SQL內(nèi)部子程序,如OG_Make_Query和OG_Execute_Query創(chuàng)建查詢。 176第二部分OracleDeveloper和QueryBuilder”中詳細(xì)介紹OracleDeveloper中報(bào)表組件的外部查詢模塊。在Graphics中,外部查詢不是一個(gè)模塊,它是一個(gè)可以通過(guò)ChartGenie的Query頁(yè)面中NewQuery對(duì)話框訪問(wèn)的文件。有兩種使用外部文件的方法:引入查詢和引用外部文件。這兩種方法都需要放在ASCII文件中的一條單個(gè)的Select語(yǔ)句。不要像在一個(gè)SQL*plus腳本中一樣使用分號(hào)結(jié)束語(yǔ)句及包含程序選項(xiàng)。復(fù)制語(yǔ)句文本可將SQL語(yǔ)句引入查詢中,單擊SQLStatement文本框右邊的ImportSQL按鈕,如圖8-4所示。圖8-4SQLStatement這個(gè)按鈕打開(kāi)一個(gè)標(biāo)準(zhǔn)的Open對(duì)話框,允許選擇文件,然后復(fù)制文件內(nèi)容到SQLStatement文本框,然后就可以如同自己輸入的SQL語(yǔ)句一樣處理。注意這個(gè)方法有限制,用戶看不到SQLStatement文本框中的SQL語(yǔ)句。單擊Execute進(jìn)入Data頁(yè)可看到結(jié)果數(shù)據(jù)。單擊ExportSQL按鈕也可將自己輸入的SQL語(yǔ)句輸出到一在外部文件中使用SQL語(yǔ)句的最好方法是使用Type下拉列表框選擇查詢類型為ExternalSQLFile(外部SQL文件)。這個(gè)選擇激活File域和Browse按鈕,如圖8-5所示,Browse按鈕通過(guò)標(biāo)準(zhǔn)Open對(duì)話框選擇文件。圖8-5Browse按鈕通過(guò)標(biāo)準(zhǔn)Open此時(shí)不用復(fù)制SQL語(yǔ)句。當(dāng)需要執(zhí)行SQL時(shí),ChartGenie引用此文件。這意味著,如果從文件中獲取數(shù)據(jù)SYLK:一種舊的MicrosoftExcel/MultiplanWKS:一種舊的Lotus1-2-3輸出文件格式,也被其他傳輸協(xié)議和數(shù)據(jù)庫(kù)程序使用。,PRN:未知結(jié)構(gòu)的通用打印機(jī)輸出文件(本人不推薦這種選擇因?yàn)槌耸俏谋靖袷酵猓粚儆谌魏挝臋n)。,從下拉框中選擇合適的格式,如圖86Browse按鈕打開(kāi)標(biāo)準(zhǔn)Open對(duì)話框指定文件,數(shù)據(jù)將顯示在Data標(biāo)簽

圖8-6從下拉框中選擇第第8章高級(jí)圖 注意利用查詢中可使用的有限的數(shù)據(jù)格式向Oracle表中引入數(shù)據(jù),要比用非SQL外部文件格式好??梢允褂眠@種將文件格式轉(zhuǎn)換成Oracle表的產(chǎn)品,比如DataJunctionbyToolsandTechniques等,自動(dòng)完成這個(gè)過(guò)程。3)從調(diào)用模塊中獲取數(shù)據(jù) 當(dāng)其他模塊嵌入到圖表時(shí),常常是要用圖表查詢與調(diào)用模塊相同的數(shù)據(jù)。例如,一個(gè)表單或報(bào)表以表格形式顯示數(shù)據(jù),其嵌入圖表以圖形形式顯示同樣的數(shù)據(jù)。在表單中可為OG.Open調(diào)用建立一個(gè)參數(shù)表。第10章的“為報(bào)表和圖表傳遞參數(shù)節(jié)將詳細(xì)介紹使用數(shù)據(jù)參數(shù)將Forms的記錄組作為查詢傳遞給圖表使用。在ChartGenie的ChartProperties對(duì)話框或ChartProperties表中,找到Data標(biāo)簽頁(yè),檢驗(yàn)標(biāo)有“Updatechartonqueryexecution”復(fù)選框。如圖8-7所示,這個(gè)復(fù)選框告訴顯示模塊,當(dāng)調(diào)用模塊傳遞控制給圖表時(shí),修改顯示結(jié)果。OracleDeveloper中此復(fù)選框的圖8-7選擇Updatechartenqueryexecution通過(guò)數(shù)據(jù)參數(shù)傳遞的記錄組中的列與查詢中列的名字或別名必須相同,顯示模塊必須匹配這些名字。顯示模塊查詢中的別名,如果要通過(guò)內(nèi)部控制圖表來(lái)控制,則該別名要易于識(shí)別。通常,使用SQL語(yǔ)句的WHERE子句來(lái)過(guò)濾顯示在圖表中的數(shù)據(jù)。如第10章中討論的那樣,可通過(guò)詞法引用參數(shù)對(duì)WHERE子句參數(shù)化。然而,在特定情況下,可能需要使用PL/SQL的過(guò)濾功能來(lái)過(guò)濾記錄:使用的數(shù)據(jù)是非SQL顯示窗口中的多個(gè)圖表使用同一查詢,但需使用不同的數(shù)據(jù)子集(需要對(duì)數(shù)據(jù)庫(kù)中相同數(shù)據(jù)進(jìn)行多次無(wú)效查詢)。進(jìn)入ChartProperties對(duì)話框的Data標(biāo)簽頁(yè),找到Filter域,如圖8-8圖8-8進(jìn)入圖表屬性對(duì)話框的Data從已有的過(guò)濾函數(shù)下拉框中選擇,也可單擊New按鈕創(chuàng)建一新的過(guò)濾函數(shù)。如果是創(chuàng)建新的函數(shù),則Graphics顯示一個(gè)帶過(guò)濾函數(shù)模板的PL/SQLProgramUnitEditor:178第二部分OracleDeveloper可在BEGIN與END語(yǔ)句間添加代碼,根據(jù)查詢數(shù)據(jù)列的值返回TRUE或FALSE。執(zhí)行查詢時(shí),Graphics對(duì)每個(gè)記錄執(zhí)行該函數(shù),過(guò)濾掉函數(shù)值返回FALSE的記錄。一個(gè)折線圖顯示兩組以上的數(shù)值數(shù)據(jù)(圖8-9),用線條連接數(shù)據(jù)點(diǎn)。這種圖表的不同子類型使用不同的方法連接數(shù)據(jù)點(diǎn)。例如,一個(gè)散點(diǎn)圖只顯示數(shù)據(jù)點(diǎn),一個(gè)折線圖用曲線連接數(shù)據(jù)點(diǎn),一個(gè)面積圖顯示線條下面連續(xù)的區(qū)域。X軸代表一個(gè)數(shù)量變化,Y軸代表進(jìn)行比較的一個(gè)或多個(gè)數(shù)量變化。圖8-9以折線圖、散點(diǎn)圖和面積圖的形式,顯示1901年月銷售量與時(shí)間的關(guān)系。圖8-9創(chuàng)建折線圖的關(guān)鍵是確定有正確的坐標(biāo)間隔的兩組定量數(shù)據(jù),如圖8-9X軸刻度是Ledger表中的原始數(shù)據(jù)是每一天的銷售量。要統(tǒng)計(jì)出每月數(shù)據(jù)并正確排序,需使用下面的查詢:第8章高級(jí)圖 179在選擇列表中的MonthNumber列,雖然未出現(xiàn)在圖表中,但卻是按照它進(jìn)行排序的。因?yàn)槿舭碝onth列排序,則只會(huì)以字母順序排序,而不能按月份值排序。WHERE子句只將1901年的銷售數(shù)據(jù)取出來(lái),GroupBY子句包含Month和MonthNumber兩列,以便選擇列表能夠包含這兩列。帶分組子句的SELECT語(yǔ)句的選擇列表中,只能包含求和函數(shù)表達(dá)式或GROUPBY子句中的元素。通過(guò)ChartGenie的屬性窗口可設(shè)置圖表的分類和列值。既然已經(jīng)掌握了基礎(chǔ),那么如何修改圖表的格式和布局呢ChartProperties對(duì)話框控制每個(gè)圖表的基本屬性。要打開(kāi)這個(gè)對(duì)話框,首先通過(guò)單擊圖表來(lái)選擇圖表,然后用Chart|Properties菜單項(xiàng),或者通過(guò)右擊彈出菜單的Properties打開(kāi)ChartProperties對(duì)話框。在對(duì)話框中選擇圖表的缺省類型和子類型,通過(guò)前面見(jiàn)過(guò)的標(biāo)簽頁(yè)建立查詢與圖表間的關(guān)聯(lián),這些標(biāo)簽頁(yè)是用其建立條形圖或餅圖的ChartGenie序列的一部分。要了解下一層的圖表格式,選擇Chart或彈出菜單上Frame(圖框)或Axes(坐標(biāo)軸)菜單項(xiàng)。當(dāng)選擇圖表及Frame后會(huì)出現(xiàn)FrameProperties對(duì)話框,可以用于控制圖表框的外觀。圖8-10的圖8-10允許修改外框基本屬性的Frame其中,三組單選按鈕控制圖表框的三維外觀和陰影特征,如,可將外框設(shè)置為將圖表數(shù)據(jù)放在中央的盒狀。ShowPlotFrame復(fù)選框用于隱藏或者顯示外框邊界線。ShowLegend(顯示圖例)復(fù)選框決定隱藏或顯示圖例盒。圖8-11的AxisFrame(坐標(biāo)軸框)注意基準(zhǔn)值是坐標(biāo)軸的起始值。其缺省值是查詢的最小值,通常也是正確設(shè)置。使用此對(duì)話框還可將基準(zhǔn)值設(shè)為最大值、零或其他固定值。注意180第二部分OracleDeveloper圖8-11AxisFrame若單擊ShowSecondYAxis(顯示第二個(gè)Y坐標(biāo)軸)復(fù)選框,圖表在第一個(gè)Y軸的另一邊顯示第二個(gè)刻度線。BaselineMapping基準(zhǔn)映射)單選按鈕控制每組值到刻度尺的映射。例如,可以使用這個(gè)屬性顯示兩條不同刻度的線??梢杂脙煞N完全不同的刻度相對(duì)于時(shí)間來(lái)比較兩個(gè)變量的比率而不是絕對(duì)的值。Categoryidth(種類寬度)設(shè)置控制一個(gè)種類坐標(biāo)軸的寬度。當(dāng)單擊Axes菜單項(xiàng)時(shí),會(huì)顯示AxisProperties(坐標(biāo)軸屬性)對(duì)話框,對(duì)話框中有Axis標(biāo)簽頁(yè)及ContinuousAxis(連續(xù)坐標(biāo)軸)或DiscreteAxis(離散坐標(biāo)軸)標(biāo)簽頁(yè),這取決于在下拉列表8-12所示,Axis標(biāo)簽頁(yè)控制坐標(biāo)軸的標(biāo)簽和刻度的設(shè)置。圖8-12Axis在CustomLabel(定制標(biāo)簽)域中輸入自己的標(biāo)簽可以取代自動(dòng)設(shè)置的標(biāo)簽。使用Data第第8章高級(jí)圖 ype(數(shù)據(jù)類型)ChartProperties對(duì)話框中給坐標(biāo)軸指定列的數(shù)據(jù)類型相符合。通過(guò)下拉列表框可以控制坐標(biāo)軸的位置(底部、頂部、左邊或右邊)。通過(guò)單選按鈕可以控制坐標(biāo)軸的方向—是從左到右,還是從右到左??潭群蜆?biāo)簽的各種設(shè)置為用戶提供了更高程度上控制坐標(biāo)軸和標(biāo)簽外觀的方法。在坐標(biāo)軸上顯示定性數(shù)據(jù)時(shí),類別標(biāo)記的個(gè)數(shù)可用如圖8-13的DiscreteAxis(離散坐標(biāo)軸標(biāo)簽頁(yè)控制,通常情況下最好設(shè)為auto(自動(dòng))圖8-13DiscreteAxis標(biāo)簽頁(yè)控制設(shè)為圖8-14中的連續(xù)坐標(biāo)軸(ContinuousAxis)標(biāo)簽頁(yè)控制坐標(biāo)軸上不同數(shù)值特性,可設(shè)置坐標(biāo)軸的最小值和最大值以及刻度間距。這些設(shè)置對(duì)于建立一個(gè)可比較的比例是有用的。但一定要記住,對(duì)用戶來(lái)說(shuō)必須是清楚的。若必要的話,還可使用對(duì)數(shù)比例而不用線性比例。圖8-14182第二部分OracleDeveloper既然已經(jīng)學(xué)習(xí)了修改圖表的所有方法,那么如何修改圖表內(nèi)容,即修改單個(gè)的圖形對(duì)象呢?要修改對(duì)象的格式屬性,必須先選擇對(duì)象。要選擇對(duì)象,首先要選擇圖表,然后單擊對(duì)象,如線條、符號(hào)、餅塊或其他。如只單擊圖表對(duì)象一次,只是選擇的圖表本身,再次單擊直到看到所有圖表組件帶有選擇句柄為止?,F(xiàn)在可使用Format(格式)菜單和工具板中的格式化工具(線條、填充和符號(hào))對(duì)圖表的組件格式化,如顏色、線寬、斜角、箭頭,以及字體設(shè)置等等。通過(guò)域模板還可修改域的某些屬性??蛇x擇圖表或域,然后單擊彈出式菜單上的 Fieldemplate(域模板)菜單項(xiàng)或Chart(圖表)菜單。根據(jù)圖表的類型,顯示一個(gè)帶標(biāo)簽頁(yè)的對(duì)話框,通過(guò)它可以修改格式化域的模板。第10章將詳細(xì)介紹使用和重用域模板對(duì)多圖表對(duì)象進(jìn)行格式化。一個(gè)條形圖顯示一個(gè)定性成分及一個(gè)或多個(gè)值成分(圖8-15)。條形的大小反映數(shù)量值。顯示多個(gè)值成分的變化情況,可以在條形上作標(biāo)記,或一個(gè)挨著一個(gè)地放置條形。圖8-15顯示圖8-15創(chuàng)建較好條形圖的技巧在于適當(dāng)劃分不同的定性類。圖8-15的條形圖只需一個(gè)相對(duì)簡(jiǎn)單第第8章高級(jí)圖 GROUPBY子句設(shè)置條形圖的分類維數(shù),ORDERBY以降序方式對(duì)數(shù)量值進(jìn)行排序,一個(gè)柱狀圖(Histogram)是一個(gè)橫著顯示的條形圖,條形沿X軸從左到右伸展,而不像條形圖沿Y軸從下向上伸展。通常,柱狀圖描述兩個(gè)數(shù)據(jù)成分并顯示一種概率或分布頻率。圖8-16顯示現(xiàn)金銷售相對(duì)時(shí)間的頻率,每個(gè)條形代表1901年的一個(gè)星期,并且數(shù)據(jù)按下降的頻率排列。這個(gè)柱狀圖顯示現(xiàn)金銷售的單向頻率分布,表明這一年銷售數(shù)據(jù)按星期的分布情況。如果按照銷售數(shù)據(jù)的隨機(jī)變化情況正常分布,柱狀圖看起來(lái)更像一個(gè)半自動(dòng)的曲線。GROUPBY子句使用ISO星期編號(hào),按照星期統(tǒng)計(jì)數(shù)據(jù),星期編號(hào)成為數(shù)量值。頻率成分來(lái)自于SELECT列表的Count(*)。ORDERBY按降序排序頻率(見(jiàn)圖8-16)。圖8-16一個(gè)餅圖顯示一個(gè)定性成分和一個(gè)數(shù)據(jù)成分,餅塊的大小反映數(shù)量值,餅塊表示這個(gè)值(見(jiàn)圖8-17)。利用餅圖專門的FrameProperties(框架屬性)對(duì)話框可修改餅圖的各種選項(xiàng),其中PieFrame(餅圖框架)標(biāo)簽頁(yè)設(shè)置專門的餅圖選項(xiàng)(見(jiàn)圖8-18)。在第4章已經(jīng)看到“其他”餅塊的創(chuàng)建方法,余下的選項(xiàng)則控制餅塊的特定屬性及餅塊之間的關(guān)系。PieFrame標(biāo)簽頁(yè)中的選項(xiàng)控制標(biāo)簽的內(nèi)容及位置。和8.2.3節(jié)“修改圖表”所描述的一樣,通過(guò)標(biāo)準(zhǔn)的Frame184第二部分OracleDeveloperShowLegend(顯示圖例)圖8-17圖8-18PieFrame有時(shí),只有一個(gè)圖表是不夠的,可以在一個(gè)顯示窗口放入多個(gè)圖表。有時(shí)會(huì)遇到希望從一個(gè)上層圖表進(jìn)入一個(gè)細(xì)節(jié)圖表的情況。就Sold餅圖為例,可能希望看到顯示某人的銷售趨勢(shì)的折線圖??梢詫⑦@個(gè)圖顯示在餅圖的右邊,但它是哪個(gè)人的呢?要解決這種要求的方法是從一個(gè)圖表中下拉出另一個(gè)圖表。這種技術(shù)允許在主圖表中單擊一個(gè)對(duì)象,然后對(duì)應(yīng)該對(duì)象打開(kāi)下一個(gè)帶參數(shù)的細(xì)節(jié)圖表,通常是顯示該對(duì)象的詳細(xì)情況。示例中的餅塊對(duì)象是人員,可將餅塊代表的人員作為折線圖的參數(shù)。在OracleDeveloper中創(chuàng)建一個(gè)下拉關(guān)系非常容易。無(wú)須任何Graphics編程,只需兩個(gè)圖表以及對(duì)主圖表進(jìn)行一些屬性設(shè)置。這種關(guān)系的關(guān)鍵是修改細(xì)節(jié)圖表的查詢,使它包含一個(gè)宿主變量引用基于主圖表的值。例如,當(dāng)單擊某個(gè)餅塊時(shí),GraphicsRuntime系統(tǒng)設(shè)置參數(shù),執(zhí)行查詢,重新顯示細(xì)節(jié)圖表。第第8章高級(jí)圖 在Sold餅圖旁增加一個(gè)折線圖,如圖8-19圖8-19Sold這個(gè)圖表是一個(gè)標(biāo)準(zhǔn)的折線圖,通過(guò)ChartProperties(圖表屬性)對(duì)話框?qū)軸上標(biāo)簽方向產(chǎn)生此圖的查詢包含下面的SQL在這個(gè)圖中查詢?yōu)?901年每月銷售量總和生成一個(gè)數(shù)據(jù)點(diǎn),這個(gè)點(diǎn)并不與餅圖上對(duì)應(yīng)的人相一致。在LayoutEditor(LayoutEditor)中打開(kāi)餅圖,單擊選中的餅圖,然后單擊所有餅塊選擇餅塊對(duì)象,所有餅塊周圍出現(xiàn)選擇柄。右擊鼠標(biāo)彈出菜單,選擇Properties(屬性)菜單項(xiàng),或從主菜單選擇ools|Properties(工具|屬性)菜單項(xiàng)。圖8-20Drill-down選擇Drill-down標(biāo)簽頁(yè)圖8-20Drill-down單擊SetParameter(參數(shù)設(shè)置)域旁的,,改變參數(shù)名使其易讀,如PERSON提供一個(gè)初始值如GeorgeB.McCormick他是最大的購(gòu)買者。在這個(gè)例子中,數(shù)據(jù)類型已經(jīng)是正確的(CHAR),如果有必要也可將其改為NUMBER或DATE,,單擊OK按鈕,OracleDeveloper186第二部分OracleDeveloper回到Drill-down標(biāo)簽頁(yè),從ToValueOf下拉列表框顯示的列中選擇Person從ExecuteQuery下拉列表框中,選擇折線圖的查詢(QUERY0)作為執(zhí)行下拉圖表的查8-22所示。圖8-21Parameters對(duì)話 圖8-22設(shè)置后的Drill-down標(biāo)簽ExecuteQuery域旁的New(新建)按鈕變成了Edit(編輯)單擊Edit按鈕編輯查詢,增加一個(gè)到Person表的連接,得到PersonName列,然后,將這一列與:Person參數(shù)值比較:執(zhí)行查詢。查詢語(yǔ)句將得到賦給參數(shù)的缺省值,這個(gè)例子中,GeorgeMcCormick購(gòu)買的最多,但主要是發(fā)生在一年的兩個(gè)月內(nèi),刷新后的圖形如圖8-23所示。圖8-23以上是創(chuàng)建一個(gè)下拉圖表的步驟。當(dāng)在GraphicsRuntime中運(yùn)行圖表時(shí),第8章高級(jí)圖 187任何一個(gè)人的月銷售趨勢(shì)。請(qǐng)單擊LayoutEditor中的RUNGraphicsLayoutEditor有很多可用的工具,用于增加或修改圖表的基本布局,下面介紹可可以添加背景圖形、位圖映像和聲音渲染,或者為其他目的處理基本圖表,或者根本不用任何數(shù)據(jù)模型而使用這些元素構(gòu)造一個(gè)完整的圖形。注意有兩個(gè)應(yīng)掌握的繪畫(huà)技巧。第一,雙擊工具面板中的工具可設(shè)置此工具繪制多個(gè)對(duì)象,單擊意味著繪制單個(gè)對(duì)象,以后Editor會(huì)重新設(shè)置工具。第二,不論何時(shí)繪制一個(gè)圖形,按住Shift并單擊可繪制一個(gè)更規(guī)則的圖形,如一個(gè)正方形而不是矩形,或生單擊圖形工具可增加一個(gè)圖形,如Rectangle(矩形)、Line(線條)、Ellipse(橢圓)、Arc(圓弧)、Polygon(多邊形)、Polyline(多邊線)、RoundedRectangle圓角矩形)或Freehand(徒手畫(huà))。多邊線由一系列線組成,邊界外有一缺口,而不是一個(gè)完整的多邊形。徒手畫(huà)可在任意方向繪制像素點(diǎn)序列。一旦單擊相應(yīng)工具就可繪制相應(yīng)圖形。要修改圖形的特征,選擇并單擊它。然后用合適的工具或菜8-24所示的工具:旋轉(zhuǎn)(Rotate):拖動(dòng)圖形的尺寸柄可以旋轉(zhuǎn)圖形,按住后拖動(dòng)一次旋轉(zhuǎn)45修改圖形(ModifyShape):修改多邊形、多邊線或徒手畫(huà)圖 填充顏色(FillColor):改變圖形的填充色或使填充透明(NoFill)。盡管本書(shū)建議如果用戶接口有移植性要求不要使用任何填充圖案,但也可設(shè)置填充圖案。線條顏色(LineColor):改變圖形邊界線的顏色或使邊界線透明(NoLine)。

圖8-24能影響圖形的一大組菜單項(xiàng)都在Format(格式)菜單上,如,可調(diào)整線寬、使用幾種虛線模式之一、增加斜面

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論