R中的ggplot和basic plot有什么区别?

时间:2018-06-24 19:43:20

标签: r plot ggplot2

对于在R中绘制图形,我通常使用软件包plot()中的基本曲线barplot()boxplot()graphics ...函数。但是ggplot似乎更常用。

在选择使用哪种图形时,要考虑的两种图形之间的主要区别是什么?

1 个答案:

答案 0 :(得分:14)

基本绘图范例是“纸上的墨水”,而latticeggplot范例基本上是在编写一个程序,该程序使用网格程序包完成对目标图形设备的低级输出。 。 ggplot范式具有“图形语法”设计,该设计试图将各种不同的绘图功能集成到一个一致的程序包中。它确实需要加载ggplot2软件包,而R则以已经加载的graphicsgrDevices软件包启动。 ggplot2lattice函数在函数内部使用时都需要使用显式print调用。

使用ggplot2,您可以将该函数的结果分配给一个对象名称,然后进一步对其进行修改。准备好进行“发布”时,您将处理输出并将其发送到带有打印的设备。通常,通过使用qplot函数,通过向使用ggplot+.gg创建的基础图中添加“图层”,可以逐步修改“ ggplot”图形。

对于base图形,没有保存结果的R对象。这些命令将立即得到处理,并刻在当前设备的“纸”上。然后,您发出其他命令来增加该设备上的输出。 plotrix软件包为使用base图形范例开发高级绘图设备的一个很好的例子。

ggplot2函数与baselattice图形函数的主要限制是ggplot2没有任何3D绘图函数。 lattice软件包并未得到积极维护,但在停止积极开发的时刻,它似乎已经相当成熟,如果发现错误,则可能会得到修复。 gridExtralatticeExtra软件包都扩展了grid和ggplot2功能。现在还有一个gridBase程序包,它支持将基础绘图结果保存为网格“ grob”,然后合并基础和网格,即latticeggplot的输出。的确,“ ggplot”范式似乎是近年来持续活动的目标。