《R数据可视化手册》学习笔记3---条形图(6)着色
写在前面。
条形图一般用来展示不同分类下(x轴)某个数值型变量的取值(y轴)。注意,条形的高度,有时是变量的频数
,有时是变量的取值本身
,需要注意区分。
条形图
我没有按照书中的章节顺序,而是根据条形高度映射数据类型
、图形位置
和图形元素
进行了分类整合,使脉络更清晰,知识点更集中。
同时随着ggplot2包的更新,书中的一些用法也已经不适用了,因此会做一些更正。
所使用的一些示例数据需要安装加载包gcookbook,同时也需要加载ggplot2。
if(!require(gcookbook) ) install.packages("gcookbook")
library(gcookbook)
library(ggplot2)
另外,ggplot2绘图的常用基本语句需要知道:
ggplot(data = , aes(x= , y = ) ) + geom_xxxx() + ...
3. 图形元素
变量到图形的映射
,图形的位置
调整好之后,为了让图形更加美观和个性化,还有一些图形元素
可以调节。
在条形图部分,我们要学习的包括,着色
、条状的宽度间距
和标签
。
接下来分别学习。
3.1 着色
如何给条形图着色呢?
对于条形图而言,可以分两个角度考虑,
- 内部填充还是边框着色?
- 指定颜色还是变量映射?
我们分别来看看。
用到的示例数据是uspopchange
数据集(需要加载gcookbook包),描述的美国各州人口的变化,我们选取子集进行绘图。
> upc <- subset(uspopchange, rank(Change) > 40)
> upc
State Abb Region Change
3 Arizona AZ West 24.6
6 Colorado CO West 16.9
10 Florida FL South 17.6
11 Georgia GA South 18.3
13 Idaho ID West 21.1
29 Nevada NV West 35.1
34 North Carolina NC South 18.5
41 South Carolina SC South 15.3
44 Texas TX South 20.6
45 Utah UT West 23.8
- 内部填充和边框着色
fill
参数指定内部填充
,colour(color也行)
指定边框颜色
。
ggplot(data = upc, aes(x= Abb,y = Change ) ) +
geom_bar( stat = "identity" , fill = "#669933", colour = "#FFCC66")
[图片上传失败...(image-d1d4f7-1694834219489)]
注意,直接指定颜色我们是把fill
和colour
参数放在geom_bar
语句中的。
如果要映射变量呢?
- 指定颜色和变量映射
上面的例子我们就是直接指定颜色,如果要映射分配,则需要将fill
和colour
参数放在aes
语句中,然后指定变量名。如果指定颜色,则会出现不理想的情况。
ggplot(data = upc, aes(x= Abb,y = Change , fill = "#669933", colour = "#FFCC66" ) ) +
geom_bar( stat = "identity" )
[图片上传失败...(image-d9b84b-1694834219489)]
我们将Region
变量分配给fill
,然后指定边框颜色为black
。
ggplot(data = upc, aes(x= Abb,y = Change , fill = Region ) ) +
geom_bar( stat = "identity" ,color = "#000000" )
[图片上传失败...(image-3087cc-1694834219489)]
以上,就是条形图着色的一些知识点,书中的正负数据分别着色例子就不举例了,涉及的实际是对fill
分类变量的预处理。