fma*_*ark 16 plot visualization r ggplot2 lattice
我刚刚开始使用R,并开始制作图表.我知道至少有三种不同的绘图包,标准的,ggplot2和格子.
这些包装是否具有互补性,或者它们是否覆盖相同的基础?如果它们是互补的,我什么时候使用它们?如果它们覆盖相同的地面,我应该作为一个新的R用户,将我的精力投入到掌握中?
Joh*_*ohn 25
有4个绘图系统.有标准,网格,格子和ggplot2.后两者是建立在前两者上的更高级别的系统.每个都有优点和缺点.
标准图形使您可以绝对控制图形,并且可以按照您喜欢的方式制作一个图形.莱迪思的开发是为了解决你需要数组图的情况.它非常灵活,可以绘制数据和任何变量的大部分功能.如果您想要将一个任意函数应用于每个主题的数据并以图形网格的形式呈现,格子就是您的宝贝.它建立在网格上,几乎是任何人使用网格包的唯一方式.
最新的一个,ggplot2,既是图形包也是图形化的新理念.它基于威尔金森的"图形语法",试图做到这一点,为图形生成语法.人们只需要学习更高层次的语法,如geom(你绘制的是什么),stat(数据统计),facet(单个面板),你可以构建非常复杂的图形.它们通常非常可爱,尤其适用于电子配送.遗憾的是,无法精确控制每个细节.有些事情你根本无法调整.也就是说,许多人得出了一个明智的结论,即用简单的方式来描述高质量的地块是一个很小的代价.
看一下ggplot2的一些默认和示例图.如果他们吸引你,那么我建议你从那里开始.如果可以,尝试通过基本语法方法学习如何做.我个人认为Hadley将便利功能作为网站的主要帮助是一个错误.这似乎破坏了ggplot2的整个目的.缩略语法被作为帮助的主要界面,但本书是关于哲学和基本语法的.
(我说的是,但是我在基础图形中进行了大部分绘图,因为我觉得构建图形的每个组件都很有趣.)
这三个包实际上是三种不同的绘图概念.标准绘图设备如果你知道你正在做什么就会很快,而且在我的眼里 - 在所有命令都处理图形的特定元素(绘图,标题,轴,标签,图例......)的意义上相当直观. ).这些图在布局上非常灵活,我发现它们对大多数标准统计绘图和相当直接的2D图有用.
莱迪思是一种基于网格的绘图设备,可以提供更大的灵活性.你可以基本上绘制你想要的任何东西,如R Graph Gallery所示.图也可以注释.格子是 - 在我看来 - 对于可定制的高端图非常有用.我主要是在制作彩色地图,3D可视化和我数据的不同子集的组合图时(例如在模型构建中,针对不同术语的效果).另请参见在R中使用晶格图形.
ggplot2实际上是一种结合两种系统优点的尝试:您保留了网格的大部分灵活性,但是您可以像使用标准绘图一样处理容易定义的图形对象.图形输出通常比标准包装中的标准设置更好看,并且比使用格子更少麻烦.就个人而言,我对ggplot2只有很少的经验,但它看起来绝对有前途.我仍然更喜欢基本图形包,但这可能更多地与我习惯于那个的事实有关.老猴子和新技巧以及所有......
基本上,我会说你感觉最舒服.我肯定至少可以学习标准软件包的基础知识,但是从那里我想ggplot2可以为你提供你需要的一切,如果你不进入高调的图形.如果你真的想制作定制的复杂图形,那么了解晶格只能帮助你.但除此之外,其他两个提供了您需要的一切,并且使用起来相当直接.