文章目录
- 基本流程
- 渲染美化
- 坐标轴设置
 
R语言系列:
- 编程基础💎循环语句💎向量、矩阵和数组💎列表、数据帧
- 排序函数💎apply系列函数
- tidyverse:readr💎tibble
基本流程
ggplot2有其独特的绘图语法,想要实现数据绘图,除了数据和集合形状之外,还需要一个叫做aesthetic的东西,这个不知道应该怎么翻,后面就统一叫做美术风格了。
而实际在绘图过程中,ggplot2则分为两步,分别是构造数据,然后对数据进行绘图,并输出到屏幕,下面先来第一步
data <- tibble(time=c(time(nhtemp)), nhtemp=c(nhtemp))
g <- ggplot(data, aes(x=time, y=nhtemp))
其中, nhtemp是R自带的一个平均温度数据集,原本的格式是时间序列。第一步,将其转换为tibble,然后调用ggplot创建图像,接下来要做的,就是将不同的美术风格添加到这个图像上。
g + geom_point()
效果如下,很明显这是个散点图。

如果想看一下其变化过程,那么把点连成线显然是更直观
g + geom_point() + geom_line()
效果如下

渲染美化
散点图和折线图的基本元素无非是点还有线,而点和线可供操作的属性无非是颜色、形状、半径粗细等,这些属性可分别通过color, shape/linetype, size来声明,下面对点线图稍作更改
g + geom_point(color='blue', shape="star", size=1) +
    geom_line(color='green', linetype='dotted', size=0.5)
效果如下

color不必多言,基本上我们能想到的颜色都可以使用。
linetype则可选择"blank", "solid", "dashed", "dotted", "dotdash", "longdash", "twodash"等,我们选用了dotted,就是点线图。
shape表示点的形状,既可以通过字符串声明,也可以直接用数字代号,下面将这些图画出来看看
d=data.frame(p=c(0:25,32:127))
ggplot() + scale_shape_identity() +
    scale_y_continuous(name="") + scale_x_continuous(name="") + 
    geom_point(data=d, mapping=aes(x=p%%16, y=p%/%16, shape=p), size=5, fill="red") +
    geom_text(data=d, mapping=aes(x=p%%16, y=p%/%16+0.25, label=p))

 在上面这个绘图代码中,scale_x_continuous, scale_y_continuous分别用于改变x,y轴的坐标范围。在geom_point中,选择了fill="red",表示填充色为红色, 但只有21-25变红了,说明只有这几个形状支持填充。mapping=aes用于映射绘图位置,这些东西对于初学者来说稍显复杂,不必多虑,绘制这个图的主要目的是看看点的形状。
坐标轴设置
大体上讲,作图必备的要素,除了图像本身之外,最重要的就是坐标轴的刻度和说明,在ggplot中,通过xlab和ylab可以设置坐标轴的标签;通过xlim, ylim可以设置坐标轴的范围;通过theme可以更改坐标文字的风格。
最后,通过ggtitle可以为图像添加一个题图。
示例如下
g + geom_point(color="red") + ggtitle("nhtemp") +
    xlab("year") + ylab("Temperature") + 
    xlim(c(1910,1970)) + ylim(c(47,55))
效果如下




















