Scale
??scales控制數(shù)據(jù)值到你所能感知到的東西的映射著淆,正常情況下,ggplot2為你自動(dòng)加上scales却盘,對(duì)于大部分的輸入數(shù)據(jù),默認(rèn)的scales可以很好地工作媳拴,但不可避免地我們會(huì)遇到需要調(diào)整scales的情況黄橘。還有一些來(lái)自其他包的非默認(rèn)scales。
scales調(diào)整相關(guān)函數(shù)的命名方式為scale_美學(xué)屬性_scale的名字
屈溉,美學(xué)屬性包括x
塞关、y
、color
等子巾,默認(rèn)scale的名字跟要對(duì)齊的變量類(lèi)型有關(guān)帆赢,例如:continuous
小压、discrete
、datetime
椰于、date
等怠益。
坐標(biāo)軸刻度和圖例key
??兩個(gè)主要的參數(shù)控制坐標(biāo)軸上的刻度(ticks)和圖例上的keys:breaks
和labels
。前者控制坐標(biāo)軸上刻度的位置(連續(xù)型變量)或者與keys相關(guān)的值(離散型變量)后者控制與ticks或keys相關(guān)的text labels瘾婿。breaks和labels為相等長(zhǎng)度的向量蜻牢,設(shè)置labels=NULL可以不顯示坐標(biāo)軸上的刻度標(biāo)簽。
??axes和legends統(tǒng)稱(chēng)為guides偏陪。axes用于x和y美學(xué)屬性抢呆,legends用于其他所有。
我曾仔細(xì)閱讀過(guò)scale_x/y_continuous的幫助文檔笛谦,所以看這一章節(jié)的時(shí)候略顯輕松抱虐,更甚有一種原來(lái)如此的感覺(jué)。
圖例布局饥脑,legend layout
??首先是圖例整體的位置梯码,可以通過(guò)theme(legend.position=位置)來(lái)設(shè)置。
??其次是單個(gè)圖例的展示好啰,可以通過(guò)guides()設(shè)置轩娶。下面的例子實(shí)現(xiàn)的功能是圖例在一行上:
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(colour = class)) +
geom_smooth(se = FALSE) +
theme(legend.position = "bottom") +
guides(colour = guide_legend(nrow = 1, override.aes = list(size = 4)))
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'
??guides()為每個(gè)scale設(shè)置guides,每個(gè)scale的guides可以通過(guò)設(shè)置scale函數(shù)的guide參數(shù)設(shè)置框往,也可以用guides()函數(shù)一起設(shè)置鳄抒。guides()的參數(shù)是一個(gè)name-guide對(duì)的列表,其中的guide要么是一個(gè)字符串椰弊,也就是colorbar或legend许溅;要么是一個(gè)guide函數(shù)(用來(lái)指定其他參數(shù))的調(diào)用,也就是guide_colorbar()(連續(xù)型顏色條guide)或guide_legend()(圖例guide)秉版。guides()函數(shù)的返回值是scale和guide之間映射的列表贤重。關(guān)于guide_colorbar/legend()函數(shù),他們有很多與設(shè)置顏色條和圖例相關(guān)的參數(shù)清焕,現(xiàn)在是沒(méi)時(shí)間看了并蝗,但以后有方向了。
替換scale
??最可能想替換的兩類(lèi)scales是continuous position scales and colour scales秸妥,其他美學(xué)屬性原則相通滚停,掌握這兩個(gè)其他的便很容易上手。
??連續(xù)坐標(biāo)尺度轉(zhuǎn)換代表函數(shù)有scale_x/y_log10/reverse/sqrt粥惧,這些函數(shù)將替換數(shù)據(jù)值與guide之間的線性變換键畴。
??顏色尺度變換的函數(shù)有:
??離散型變量:scale_color_brewer(),scale_color_manual()突雪。default categorical scale選取color wheel周?chē)g隔均勻的顏色起惕,ColorBrewer scales更適合普通色盲人士涡贱。
??連續(xù)型變量:內(nèi)置的scale_color_gradient()和scale_fill_gradient(),注意:所有的color scale都有兩個(gè)變體:color和 fill 惹想!盼产,適合diverging scale的scale_color_gradient2(),由viridis包提供的scale_color_viridis()勺馆,這是一個(gè)categorical ColorBrewer scales的連續(xù)模擬戏售,優(yōu)點(diǎn)是具有良好感知特性的連續(xù)型配色方案。
??小注:diverging scale適合從負(fù)值經(jīng)中間值到正值的連續(xù)型數(shù)據(jù)草穆;gradient是梯度的意思灌灾。以上這些函數(shù)需要找時(shí)間看看它們的幫助文檔并嘗試去應(yīng)用,這里只是指示當(dāng)你需要時(shí)你可以努力的方向悲柱。