數據分析系統研發人員都不會對圖表功能感到陌生,因為數據分析軟體的數據通常以圖表和表格的形式顯示。但是,你真的了解為什麼需要使用圖表功能、以及不同圖表類型的最佳應用場景?本文將為你解開這些謎團。 為什麼需要使用圖表製作和展示功能 圖表是一種將數據圖行化的視覺化手段,多用於實現以下需求: 1. 讓數據更易於閱讀和理解,形象化 2. 展示數據數據對比 3. 發揮數據的影響力 4. 將原始數據轉換為有用的管理決策信息 5.剔除雜亂信息,突出重點 當數據以一種形象化的形式出現時,我們就容易記住它,並會在以後使用到這些數據,充分發揮數據的信息凝聚力。而且,建立起數據簇之間的關係之後,可以從中發現閱讀原始數據無法發現的一些信息——這些信息一般可能更為重要,這更有利於管理決策有效化。 以某公司客戶數據量積累為例,從2000-2013年該公司客戶的數量統計如下: 從這組數據中,我們能夠隱隱約約的覺察出每年的客戶數量都有增長,但是,每年的增長幅度卻很難確定,為了能夠更清晰的顯示每年客戶數量的變化情況,我們可以通過柱狀圖來以顯示上數據。 如何選擇合適的圖表類型 先來看一看以下這幅圖,它為我們提供了正確選擇適當圖表類型的基本導向: 首先對你預想得到的信息進行分類,分為:數據比較、數據分布、數據組成和數據關係,然後按照各分類的子分支一層一層確定最終的圖表類型。 十種常用圖表類型 折線圖 折線圖是平常最常用的圖表類型之一。折線圖可顯示隨時間變化的連續數據,常用於分析相等時間間隔下數據的發展趨勢。在折線圖中,各類別數據沿橫坐標均勻分布,數據沿總報表進行分布,效果如下圖: 柱形圖 柱形圖通常用於顯示一定範圍內數據的變化情況或用於各項數據的比較。柱形圖表達效果如下圖: 簇狀柱形圖 如果你需要比較多個類別數據的關係,而且還需要對比各類別中包含若干個子項的關係時可以使用簇狀柱形圖。例如,下圖展示了各類產品2010/2011/2012年度的銷售總額對比情況: 堆積柱形圖 堆積柱形圖用於顯示特定範圍內各類別數據的對比情況,而且,各類別的數據是若干個子項數據匯總結果。例如,下圖顯示了2010/2011/2012年度銷量總額,其中每個年度均有4類產品: 餅圖 餅圖用於顯示各部分數據在總數據中的大小和比例關係。例如,下圖顯示了2012年度各類產品的銷售百分比: 條形圖 條形圖常用於顯示各類別數據之間大小關係。例如,下圖展示了2012年度各產品的銷量情況,以從高至低的順序進行排列: 面積圖 面積圖強調的是數據隨著時間變化的程度。例如,下圖展示了2012年每月銷售量的匯總情況,其中每月的銷售量是飲料+調味品+典型+日用品銷量的匯總結果: 組合圖 組合圖是將兩種或多種圖表類型顯示在同一圖表,主要是實現將不同角度的數據放到同一圖表中,以便發現數據之間的關聯性。例如,下圖就在同一圖表中顯示了訂單金額和訂單數量兩組數據,而且分別用不同的圖表類型進行呈現: 散點圖 散點圖常用於顯示兩組數據之間的相關性,可展示數據的分布情況。例如,下圖展示了全年每個訂單的產品數量分別情況: 氣泡圖 用於顯示三組數據之間的關係,其中一組數據作為橫坐標,一組數據作為縱坐標,另一組數據表示氣泡的大小。 互動式圖表功能 圖表除了可以顯示靜態分析結果之外,它還是很好的互動式數據分析的基本載體,在互動式報表中可將圖表作為報表的一級界面,通過點擊圖表的不同區域可以分析更深層次的詳細數據。 圖表交互的表現之一是鑽取。鑽取是改變數據維度的層次,變換成分析的粒度,是用戶系統化進行數據分析的常用方式。如下圖中報表軟體FineReport地圖的多層級鑽取,用戶不但能自定義鑽取的層次和粒度,而且能自定義內置地圖、內置統計圖、用戶上傳地圖等多種圖形之間的鑽取和聯動。
很多時候,我們希望在一塊地圖區域上,可以同時看到該地區上的多個數據指標,如同時顯示成本和利潤、利潤率等數據,這樣即提高了數據展示的效率,也讓我們在整體層面上對該地理區域的情況進行把握。在報表軟體FineReport中,我們只需要經過一下簡單設置,即可實現在同個地圖區域中查看多種數據的效果。效果如下: 具體設置如下: 打開模板%FR_HOME%WebReportWEB-INFreportletsdocAdvancedChartMap.cpt,讓地圖第一層數據顯示2個指標,銷售額和利潤額,能夠方便對比這兩個數據。 數據修改 選中地圖,在右側的屬性表中進入數據源設置的第一層數據的設置界面,如下圖: 點擊添加按鈕,給第1層數據添加另外一個指標利潤額,如下圖: 效果查看 保存模板,點擊分頁預覽,滑鼠放置在某個省份的區域上面,數據點提示如下圖:
近期「數據地圖」很火,很多人誤以為數據地圖是一種地圖,這種理解對也不對。數據地圖其實是圖表的一種,因為與地理因素的密切關係,又被稱之為數據地圖或數據地圖報表。在企業級報表軟體中使用數據地圖展示數據、進行數據分析是有一定優勢的,因為企業的很多信息數據是與地理位置相關聯的,例如各區域的銷售額和利潤額等。這種情況下,如果能採用地圖的形式來反映這些數據,無疑會比單純的表格或一般的圖表要直觀形象得多,信息溝通更加有效,也更具專業的品質和形象。 那麼用將報表數據和地圖集成起來展示數據的優勢具體表現在那些方面呢?下面用一個具體案例來體現這種優勢:(數據地圖和報表數據集成的具體過程本文不再詳述,可參考:如何製作數據地圖報表) 數據地圖的製作工具:FineReport圖表製作軟體 數據來源:大商集團 用FineReport進行圖表製作完成後,在報表平台上配置完成之後,就可以用來分析數據了。 配置的數據粒度可以自己選擇,選擇具體公司,宏觀掌握整個公司的銷售情況,查看銷售額和目標完成度,以及會員銷售、團卡銷售、禮券銷售、送券金額、買減金額、退貨金額毛利金額、毛利率、顧客人數、客單價、會員人數、件單價、團卡人數等整體細分項目情況。 用數據地圖進行數據分析的優勢在接下來的步驟里就可以體現出來了。看完總公司的數據之後,可以按地區查看地區銷售情況,本例中配置了佳木斯、大慶、瀋陽、撫順、大連、濟南、鄭州、西安、成都等地區的數據。 在具體的地區中,還可以查看該地區的具體行業銷售情況,本例中配置了百貨、超市、NTS、電器等四種行業情況。 看具體地區的具體行業中,還可以選擇更加細分的行業內容查看,如百貨具體到哪種百貨: 在某家店裡可以查看具體樓層的銷售情況: 樓層的數據可以細分到哪個櫃檯數據: 查看櫃檯內的具體信息和銷售情況:
通過圖表的製作流程,我們知道圖表的數據可以直接來自於數據集,也可以來源於單元格數據,那麼圖表是如何將數據集或者單元格中的數據與圖表進行綁定,通過圖表製作來展示資料庫中的數據? 圖表通過將數據集中的欄位或者單元格與圖表的分類軸、系列名稱及系列值綁定來定義圖表數據。下面我們主要講解在java數據報表FineReport中圖表數據幾種設置方法: 1、圖表單元格數據源 2、數據集數據源-欄位值作為系列名稱 3、數據集數據源-欄位名作為系列名稱 圖表單元格數據源 如果數據集中的數據無法直接用於圖表,需要經過計算之後才能用於圖表時,可以使用單元格數據源來定義圖表。 如下圖,右側的柱形圖使用左側的單元格數據作為圖表數據源: 下面我們講述如何實現單元格數據源圖表的詳細方法: 數據準備 打開模板%FR_HOME%WebReportWEB-INFreportletsdocPrimaryChartChart.cpt,將這張模板中的圖表數據源修改為單元格數據源。 如上效果圖,左側的單元格數據是通過地區、產品類型和銷量三個欄位擴展得來的,將這三個欄位拖拽至單元格中,設置銷量所在單元格C2的數據顯示方式為匯總求和,如下圖: 修改圖表數據源 將懸浮圖表的數據源修改為單元格數據源,由效果圖的柱形圖可知,分類軸即X軸顯示的為地區,系列名稱為產品類型,系列值為銷量值: 分類軸 地區 A2 系列名稱 產品類型 B2 系列值 銷量值 C2 按照上述表格設置圖表數據源,如下: 註:使用單元格數據作為圖表數據時,分類軸、系列名與系列可能不是由一個單元格擴展出來,而是由多個單元格組成,此時定義圖表數據規則如下: 如果數據來自於一片連續的單元格如A1~A3:則定義時使用公式=A1:A3,用冒號隔開。 如果數據來自於不連續的多個單元格如A1、A3、A5:則定義時使用公式=[A1,A3,A5]用逗號隔開,並且需要加上[]號。 修改圖表樣式 去掉圖表上面的標籤顯示,選中圖表,點擊圖表屬性表-樣式>標籤,去掉勾選項,如下圖: 5. 效果查看 保存模板為,點擊分頁預覽,可以看到上面所示的效果圖。 數據集數據源-欄位值作為系列名稱 若圖表的數據可以通過數據集直接取出,並且圖表的系列名稱來自於某數據列中的數據,此時可以通過數據集數據源-欄位值作為系列名稱來定義圖表。 圖表數據來源 圖表數據來源於數據集,且系列名稱為欄位中的值。 定義圖表數據 確定了希望實現圖表的分類軸、系列名稱及系列值,就可以設置圖表數據源了。 數據集數據源-欄位名作為系列名稱 若圖表的數據可以通過數據集直接取出,且圖表的系列名字就為欄位名,圖表系列的值為對應欄位中的值,此時就可以通過數據集數據源-欄位名作為系列名稱來定義圖表。 圖表數據來源 圖表數據來源於數據集。 定義圖表數據 確定了希望實現圖表的分類軸、系列名稱及系列值,就可以設置圖表數據源了。
表單是FineReport7.1.1圖表製作軟體中新添加的一項功能,那麼在FineReport的表單中如何使用圖表塊呢?下面我們就以一個示例來介紹圖表塊在表單中的使用方法。 新建表單 點擊文件>新建表單新建一張表單。 拖入組件 從GettingStarted.cpt的效果圖,我們可以看到該張模板使用表單實現,需要使用到控制項組件、報表組件和圖表組件,那麼我們一一將對應組件拖拽到表單主體中,包括標籤控制項,設置標籤的控制項值為:地區,下拉框控制項和報表塊以及圖表,如下圖: 新建數據集 此表單是為了實現查詢各個地區產品的銷量情況,故新建數據集ds1:SELECT * FROM [銷量] where 地區 =’${地區}’,地區參數的默認值為華東。 組件綁定數據 下面需要為各個組件添加數據。 下拉框組件 選中下拉框,點擊數據字典,選中FRDemo資料庫中的銷量表的地區欄位,並修改下拉框控制項名為:地區,控制項值設置為:華東,如下圖: 註:過濾控制項的控制項默認值最好設置一下,因為如果下方有圖表組件的話,初始化的時候需要載入控制項的默認值就行過濾,如果沒有默認值,圖表組件會沒有數據而顯示為空白。 報表組件 點擊報表塊中間的觸筆,切換到報表塊的編輯界面,並按如下圖所示樣式拖入欄位: 圖表組件 報表塊編輯完成之後,點擊表單主體下方的表單按鈕回到表單主體設計界面,選中圖表組件,在右側的圖表屬性表-數據中為圖表組件綁定數據,如下圖: 圖表組件的其他屬性設置請查看圖表樣式和圖表特效。 其他類型的圖表請查看高級統計圖。 保存模板,點擊預覽按鈕,在web端打開,如下圖,初始化的時候,報表塊和圖表塊均顯示控制項默認值華東地區的數據,點擊控制項下拉框,選擇華北,報表塊和圖表塊的數據也隨之變化,顯示華北地區的數據:
在報表軟體FineReport中,我們可以給報表添加預警,同樣也可以給圖表添加預警線,查看圖表數據是否超過指標。設置圖表警戒線的目的在於實現用戶想要達到的特定數據突出效果,讓人在繁雜的數字之中一眼發現我們所設定的這個數據標準。如下圖查看每個人的產品銷售情況,250屬於達標,500屬於優秀: 警戒線可以設置多個,並且可以對警戒線的字體、顏色、線型,內容等等進行自己定義。 圖表警戒線製作示例 準備圖表數據 新建工作薄,添加數據集,SQL語句為SELECT * FROM [銷量],查詢所有銷售人員的產品銷量情況,直接作為圖表數據源,製作銷量統計圖。 插入圖表 以懸浮圖表為例,點擊插入>懸浮元素>插入圖表,彈出圖表嚮導對話框,選擇柱形圖,點擊確定; 設置圖表數據 圖表數據來源於數據集數據,設置如下圖,點擊完成: 警戒線設置 選中圖表,點擊圖表屬性表-樣式>坐標軸>分析線,點擊警戒線下面的按鈕,然後增加兩個警戒線,警戒線的設置如下圖: 可以根據需要添加任意條警戒線。 由上圖可以看警戒線的值支持公式,並且支持線型、警戒線顏色的、字體、大小以及位置的多樣性。 註:餅圖、儀錶圖,地圖、雷達圖及甘特圖等,依據其圖表的特性,無需警戒線,因此沒有添加警戒線功能。 保存模板,點擊分頁預覽,即上圖效果。 已完成模板可參考:%FR_HOME%WebReportWEB-INFreportletsdocAdvancedChartPicketLine.cpt
與靜態圖表不同,動態圖表的核心在於數據和圖表類型可隨條件的不同即時展現,即除了能展現一般的靜態圖表內容之外,動態圖表還有很好的交互性。動態圖表實現原理與動態報表類似,是基於參數傳遞或數據過濾實現的,本文介紹的是基於數據參數傳遞原理的動態圖表。 動態圖表數據 用戶希望根據條件的不同,顯示的圖表不同,這是動態圖表產生的最初推動力。如下圖,選擇年份與月份條件,圖表中顯示滿足條件的數據,從而實現動態圖表: 實現思路 根據參數條件動態改變圖表的數據來源: 若圖表數據來源於數據集,那麼可以通過數據源參數來動態改變圖表的數據; 若圖表數據來源於單元格,那麼可以通過報表參數,並設置過濾來改變圖表的數據,該節就以此為例。 示例 1 準備數據 新建工作薄,添加數據集ds1,SQL語句為SELECT Year(訂購日期)as 年, month(訂購日期)as 月, 貨主省份, 應付金額 FROM [訂單] 。 2 定義參數 我們根據選擇的年份與月份來動態改變圖表,定義3個報表參數: 報表參數Year:年份,默認值為2010; 報表參數Start:起始月份,默認值為1; 報表參數End:結束月份,默認值為6。 參數界面設計如下: 3 表樣製作 在單元格中統計出各省某年若干月的銷售額情況並匯總,如下圖: 數據列設置如下: 單元格 數據集 數據列 屬性 A3 ds1 貨主省份 設置過濾條件:年 等於$Year B3 ds1 年 默認 C2 ds1 月 從左到右擴展,設置過濾條件:月 大於或等於$Start and 月 小於或等於$End C3 ds1 應付金額 匯總-求和 根據參數值的不同,單元格中統計出來的數據不同,以單元格作為數據來源,圖表顯示的數據也不同,從而實現動態圖表。 4 插入圖表 合并一片單元格如上圖,右擊單元格元素>插入圖表,選擇柱形圖,點擊確定。 […]
圖表條件顯示屬於FineReport圖表軟體
FineReport中圖表排序主要分為單系列(分類)圖表排序和多系列分類圖表排序兩種,圖表排序的實現和數據類排序的原理類似,以圖表所代表的的數據大小為根本依據,在此基礎上延展開來一系列的排序標準
什麼是甘特圖(Gantt chart) 一般對甘特圖的解釋是:以圖示的方式通過活動列表和時間刻度形象地表示出任何特定專案的活動順序與持續時間。通俗來講,甘特圖(Gantt chart)是將活動與時間聯繫起來的一種圖表形式,顯示每個活動的歷時長短。甘特圖能夠從時間上整體把握進度,很清晰地標識出每一項任務的起始與結束時間,這也就不難理解甘特圖的產生原因了:因為生產管理領域生產計劃制定的需要而產生。 讓我們先看一下甘特圖長什麼樣子,下圖是用報表BI軟體FineReport製作的一個簡單的專案甘特圖,在這個甘特圖中可以直觀地查看每個專案的進展狀況,並對多個專案進行對比 。在下面的多專案甘特圖中,橫軸表示時間,縱軸表示專案進度,這也是一般甘特圖通用的形式。 隨著專案複雜程度增加、業務需求的多樣,簡單的甘特圖(Gantt chart)已經不能滿足需要,於是各種類型的複雜甘特圖出現。 這裡用FineReport報表軟體製作幾張專案中常用的甘特圖。此外,FineReport支援援柱形圖,折線圖,餅圖,雷達圖,散點圖、圓環圖,條形圖, 堆積圖、面積圖、組合圖、氣泡圖、地圖、GIS 地圖、流向地圖、熱力地圖、儀錶板、全距圖、甘特圖、樹圖、框架圖等 19 種圖表大類和超過 50 種動態圖表樣式。豐富的動態與圖表互動效果,可以滿足您多樣的資料視覺化展示需求。 如果您對這些图表感興趣,你可以下載FineReport免費使用這些图表。 普通甘特圖: 帶里程碑的甘特圖: 帶關聯線的甘特圖: 狀態甘特圖: 多專案軸甘特圖: FineReport甘特圖(Gantt chart)功能擴展十分強大,支援多層級專案以及多系列的任務;支援各個 任務的里程碑設定;支援進度管理;包含四種任務關聯線 (開始—完成,開始—開始,完成—開始,完成—完成);支援13層時間軸並且可縮放調整;支援周末提示;支援多系列任務分列or並欄設定(後者常用來監控狀態變化);支援圖表導出等等。 甘特圖的動態效果可以查看FineReport圖表demo: PC端demo:http://www.finereporthelp.com:8889/demo/ReportServer?op=fs 行動端H5demo:http://www.finereporthelp.com:8889/h5/ReportServer?op=fs或掃QRCODE體驗: 甘特圖的使用場景 理解了甘特圖的產生原因與自身特點,也就不難想像甘特圖的使用場景了。甘特圖適用於以下幾種應用場景: 1、專案管理:甘特圖是在現代的專案管理里,被廣泛應用的一種圖表形式。甘特圖可以幫助我們預測時間、成本、數量及質量上的結果並回到開始,也能幫助我們考慮人力、資源、日期、專案中重複的要素和關鍵的部分,還能集成多張張各方面的甘特圖而成為一張總圖。以甘特圖的方式,可以直觀的看到任務的進展情況,資源的利用率等等。 2、如今甘特圖不單單被應用到生產管理領域,隨著生產管理的發展、專案管理的擴展,它被應用到了各個領域,如:建築、IT軟體、汽車等所有有把時間和任務進度聯繫到一起的領域。 需要展現某項指標或者某項任務的達成進度,比如部門業績完成情況、申報費用進度等。為了更加直覺地展示各項指標和任務的進度,我們一般可以通過堆積柱形圖、堆積條形圖、甘特圖來展示資料進展情況。 製作甘特圖的工具選擇 能用來製作甘特圖的軟體工具大致分為三類: 1、免費開源圖形插件 2、製作甘特圖的專門圖表軟體 3、包含有甘特圖功能的專業報表工具 對這三類工具,可能每個人的看法都有差別,但大致的方向是一致的,大家可根據具體需要進行選擇: 免費開源圖形插件適用於程式能力比較強的個人使用,眾所周知,插件既然已經被稱為開源插件,就是需要對其源程式碼進行一定的調試變化才能靈活使用; 專門製作甘特圖的圖表製作軟體分為免費和收費兩種,功能也就有強有弱,適合只有甘特圖一種圖表需求的用戶; 包含甘特圖功能的報表,即報表已經將甘特圖集成到報表中,可以和其他報表與圖表形式綜合使用,適合處理比較複雜的數據,此類報表工具一般為專業的數據分析軟體(例如FineReport),適用於功能要求比較高的企業級用戶。 製作甘特圖的簡要步驟 1.明確專案牽涉到的各項活動、專案。內容包括專案名稱(包括順序)、開始時間、工期,任務類型(依賴/決定性)和依賴於哪一項任務。 2.創建甘特圖草圖。將所有的專案按照開始時間、工期標註到甘特圖上。 3.確定專案活動依賴關係及時序進度。使用草圖,按照專案的類型將專案聯繫起來,並安排專案進度。 4.計算單項活動任務的工時量。 5.確定活動任務的執行人員及適時按需調整工時。 6.計算整個項目時間。 用FineReport製作單專案甘特圖詳細教程 下圖為一個簡單的單專案甘特圖,該專案包含需求調研、功能開發、驗收測試3個任務: 以計劃實際完成百分比甘特圖為例,下面介紹其製作方法。 數據準備 新建工作薄,添加內置數據集如下: 在儲存格中統計出每個步驟的計劃開始與結束時間、實際開始與結束時間及完成百分比,作為圖表數據來源,如下圖: […]