R数据可视化手册(第2版)
上QQ阅读APP看书,第一时间看更新

2.2 绘制折线图

问题

如何绘制折线图?

方法

使用plot()函数绘制折线图(见图2-3左图)时需向其传递一个包含x值的向量和一个包含y值的向量,并设置参数type = "l"

plot(pressure$temperature, pressure$pressure, type = "l")

如果要向图形中添加数据点或者多条折线(见图2-3右图),则需先用plot()函数绘制第一条折线,再通过points()函数和lines()函数分别添加数据点和更多折线:

plot(pressure$temperature, pressure$pressure, type = "l") 
points(pressure$temperature, pressure$pressure)

lines(pressure$temperature, pressure$pressure/2, col = "red")
points(pressure$temperature, pressure$pressure/2, col = "red")

图片 391

图2-3:使用基础绘图系统绘制的折线图(左图);添加数据点和另一条折线后的折线图(右图)

也可以用ggplot2中的geom_line()函数得到类似的结果(见图2-4):

library(ggplot2)
ggplot(pressure, aes(x = temperature, y = pressure)) +
  geom_line()

图片 390

图2-4:使用ggplot()绘制的折线图(左图);添加数据点后的折线图(右图)

对于散点图,可以以向量代替数据框的形式传递你的数据(但是这会限制你的绘图):

ggplot(pressure, aes(x = temperature, y = pressure)) + 
  geom_line() + 
  geom_point()

 

图片 389 

使用ggplot()时通常会像上面这样将命令分割成多行,每行代码以+结尾,这样R会识别出该命令尚未结束而延续到下一行。


 

另见

关于绘制折线图的更多详细内容,参见第4章。