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