R可视化和ggplot2

《R数据可视化手册》学习笔记3---条形图(6)着色

2023-09-15  本文已影响0人  RSP小白之路

写在前面。

条形图一般用来展示不同分类下(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 着色

如何给条形图着色呢?

对于条形图而言,可以分两个角度考虑,

  1. 内部填充还是边框着色?
  2. 指定颜色还是变量映射?

我们分别来看看。

用到的示例数据是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)]

注意,直接指定颜色我们是把fillcolour参数放在geom_bar语句中的。

如果要映射变量呢?


上面的例子我们就是直接指定颜色,如果要映射分配,则需要将fillcolour参数放在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分类变量的预处理。

上一篇 下一篇

猜你喜欢

热点阅读