为了绘制R中的图形,我通常使用plot()
包中的基本绘图barplot()
,boxplot()
,graphics
...函数。但ggplot
似乎更经常使用。
在选择使用哪种图形时,要考虑两种图形之间的主要区别是什么?
基础绘图范例是“纸上墨水”,而lattice
和ggplot
范例基本上是编写一个程序,使用网格包来完成目标图形设备的低级输出。 ggplot
-paradigm具有“图形语法”设计,试图将各种不同的绘图功能集成到一个连贯的包中。它确实需要加载ggplot2
包,而R启动时已经加载了graphics
和grDevices
包。当ggplot2
和lattice
函数在函数内部使用时,它们都需要使用显式的print
调用。
使用ggplot2
,您可以将该函数的结果分配给对象名称,然后进一步修改它。当它准备好“发布”时,您将处理输出并将其发送到带有打印的设备。 “ggplot”图形通常通过使用qplot
函数向使用ggplot
或+.gg
创建的基础图添加“图层”来逐步修改。
在base
-graphics的情况下,没有R对象保存结果。命令立即处理并刻在当前设备的“纸张”上。然后,您发出进一步的命令以扩充该设备上的输出。 plotrix
软件包提供了使用base
-graphics范例开发高级绘图工具的一个很好的例子。
ggplot2
函数与base
和lattice
图形函数的一个主要限制是ggplot2没有任何3D绘图函数。然而,lattice
-package并没有得到积极的维护,但它似乎相当成熟,因为活动开发已经停止,如果你发现了一个bug,它可能会被修复。有gridExtra
和latticeExtra
包扩展了lattice和ggplot2功能。现在还有一个gridBase
包支持将基础绘图结果保存为网格“grob”,然后合并基础和网格,即lattice
或ggplot
,输出。毫无疑问,“ggplot”范式似乎是近年来更持久的活动的目标。