第 3 章 Scales

Scale: 指資料對應到美感呈現的對應方式

圖3.1: Scale對應

3.1 使用方法

範例
ggplot(mpg)+
  geom_point(aes(x=cty,y=hwy,color=class))

ggplot(mpg)+
  geom_point(aes(x=cty,y=hwy,color=class))+
  scale_color_manual(
    values=c("red","blue","green","tomato","tomato","#e86b97","blue")
  )

範例
ggplot(mpg)+
  geom_point(aes(x=cty,y=hwy,color=cyl))+
  scale_color_distiller()

若要更改color美感呈現,可使用scale_color_*,其中*有多種資料對應顏色的方式可選:
圖3.2: scale_color對應種類
  • 每一種用法參見Scales reference

  • 要注意有些scale只能用在連續變數對應,有些只能用在間斷變數對應。

  • 顏色可用hex code

  • 漸層上色比較適合連續型變數。

用英式拼法colour或美式拼法color都可以。

圖3.3: scale基本架構

3.2 刻度尺

scale英文是刻度尺的意思,刻度尺有兩個功能:

  1. 把原始物件的特徵轉成數值(類似這裡原始資料轉成美感呈現的對應)。
  2. 轉換後的數值其意義是相對的——相對於尺的基本單位。

3.2.1 間斷變數

ggplot(mpg)+
  geom_point(aes(x=cty,y=hwy,color=class)) -> fig02_original_2
fig02_original_2
圖3.4: 「幾何圖面」與「刻度尺說明」
fig02_original_2 +
  scale_color_manual(
    ### 定義幾何圖面
    limits=c("2seater","suv","compact"), # 哪些原始資料值可被視覺化?
    values=c("blue","red","brown"), # 各別原始值對應的視覺呈現
    ### 定義刻度尺說明(即guide/legend)
    name="Car Type", # 刻度尺名稱
    breaks=c("2seater","midsize","suv"), # 哪些原始值要顯現?
    labels=c("2 Seater","Midsize","SUV") # 那些原始值的標籤名稱。
  )
## Warning: Removed 120 rows containing missing values
## (geom_point).

修正上面scale設定的問題。