- 數據可視化之道:數據分析中的圖表制作思路與方法(全彩)
- 林斌
- 1691字
- 2020-07-02 15:47:31
2.3 技術準備:圖表中的(x,y)坐標
在二維坐標系圖表中,繪圖區域的任意位置都有一個與之唯一對應的坐標,該坐標由橫坐標值x和縱坐標值y構成。前面已說明,在縱軸為數值軸的情況下,Excel圖表的分類軸有三種類型:數值、文本和日期。在這三種不同的坐標軸中,(x,y)坐標有著不同的性質和規范。
分類軸為數值類型
在分類軸為數值類型,也即所有類型的XY散點圖中,由于橫縱軸都是數值,因此(x,y)坐標的含義簡單而直接,根據數據點對應的橫縱軸位置即可確定。圖2-12為橫縱軸都是數值的散點圖,只需給定正確的(x,y)坐標,即可在圖表顯示區域內的任意位置繪制數據點。在刻度既定的同一個圖表中,(x,y)坐標和位置是一一對應的。不同的刻度設置會導致顯示位置出現差異,例如圖2-12左右兩圖中A、B、C三點的坐標(x,y)分別相同,均為(1,9)、(2,8)、(3,7),但顯示位置明顯不同。

圖2-12 散點圖中的數據點的顯示位置與其(x,y)坐標
分類軸為文本類型
對于包含一個文本分類軸和一個數值軸的圖表,繪圖區域中點的位置同樣可由(x,y)坐標確定。圖2-13是包含文本分類a至e的柱形圖,A、B和C是三個數據點,分別顯示于a、b、c三個分類點的正上方。上一節詳細介紹了Excel圖表的雙坐標系特性,為了推導出這三個數據點的坐標,我們首先假設其顯示于次橫軸之上,也即本圖為兩個數據系列啟用了兩個橫軸:主橫軸為文本軸,用于顯示文本分類;次橫軸為數值軸,用于標示數字。

圖2-13 同時啟用主橫軸和次橫軸
可以發現,圖2-13上方次橫軸的刻度區間完全由用戶自行控制,意味著A、B、C三個數據點的x坐標可自由設定。例如,圖2-13中設置的區間為0.5~5.5,如將區間設置修改為5~55,則數據點的顯示位置并不受影響,只需確保其坐標和刻度匹配、位于顯示范圍之內即可。
2.1節曾提及,在數據缺失也即未提供任何X數據的情況下,Excel用自然數1、2、3……標識X。事實上,即使提供的繪圖數據中包含了X,文本的分類也是按此自然數順序排列的。仍然延續圖2-13的例子,圖2-14在5個分類標簽的下方顯示了其各自對應的數值1~5。據此可進一步推出,默認格式中圖表橫軸起始位置的數值為0.5,之后在每個刻度線位置遞增1。

圖2-14 文本分類中的“數值”
前面已說明,如非必需,應避免啟用次坐標軸,以降低圖表的復雜度。因此,對于類似圖2-13包含文本分類軸的圖表,數據點的x坐標可根據上述規則確定,無須啟用次橫軸。
如圖2-15所示,將(x,y)坐標為(1,9)、(2,8)、(3,7)的三個數據點加入圖中,分別顯示在分類a、b和c的位置之上。新系列的X(1,2,3)和原系列的文本分類可公用主坐標軸,因為a、b、c分類背后對應的數值恰好就是1、2和3,完全無須啟用次橫軸。

圖2-15 在文本分類軸圖表中添加(x,y)坐標
總之,往包含文本分類軸的圖表中添加(x,y)坐標點,只需提供符合上述規則的X系統即可。例如,如果要在分類點a和b的正中間顯示數據點,則x坐標值應為1.5。
分類軸為日期類型
在分類軸為日期類型的情況下,繪圖區域中數據點的坐標規則比文本軸數據點的坐標規則簡單:x坐標直接等于數據點所在位置對應的日期。如圖2-16所示,紅色數據點的坐標是x=2015-11-26、y=3700。因此,如果需要在包含日期分類軸的圖表的任意位置顯示數據點,則將x坐標設定為對應日期即可。這個機制背后的原理是,在Excel中,日期和時間格式的數據與數值格式的日期序列數之間可任意轉換。例如,日期2015-11-26對應的序列數為42334。

圖2-16 在分類軸為日期類型的圖表中根據(x,y)坐標添加數據點
由此可見,Excel中所有基于直角坐標系的圖表,無論分類軸是文本還是日期,本質上都可以和XY散點圖共用坐標系,只需根據分類軸的性質提供正確的X系列,將(x,y)數據點作為新的數據系列加入原系列,就可以實現在圖表任意位置繪制數據的目的。
第3章將說明,有了自由設定的坐標后,以其所在位置為基礎,可生成各類圖形對象和圖表元素。其中,為了生成線條或區域圖形對象,還需掌握2.4節介紹的繪制Excel圖表時的另一個必備工具。
最后,上述向各類圖表中添加XY數據系列的過程,建議采用2.1節介紹的復制粘貼方法,而不推薦使用編輯數據源界面的方法,具體操作過程將在第3章中結合實例詳細介紹。
- Embedded Linux Projects Using Yocto Project Cookbook
- C#編程入門指南(上下冊)
- Learning Python by Building Games
- 小程序開發原理與實戰
- VMware虛擬化技術
- AMP:Building Accelerated Mobile Pages
- Getting Started with Electronic Projects
- Mastering ASP.NET Core 2.0
- Java 11 and 12:New Features
- H5匠人手冊:霸屏H5實戰解密
- Python程序設計現代方法
- 熱處理常見缺陷分析與解決方案
- Python編程:從入門到實踐(第2版)
- Kudu:構建高性能實時數據分析存儲系統
- HTML 5+CSS 3+jQuery Mobile移動網站與APP開發實戰