r语言ggplot2散点图中xyplot和plot画散点图有什么区别

我们介绍的是如何创建散点图這一讲我们介绍如何创建其他类型的图,以及怎么创建有多个几何对象的图同样用用tidyverse自带的数据mpg举例,

在这个数据中我们比较关注displ与hwy這两个变量,displ表示引擎尺寸(升)hwy表示高速路上的燃油效率(英里/加仑)。为了展示这两个变量之间的关系我们可以尝试画一条平滑曲线,平滑方法用

当然平滑方法是可以换的比如我们可以用线性平滑,


我们可以把趋势线作为一个新的图层与上一讲画的散点图的图层重叠起來,也就是把趋势线贴到原始数据上:

两个图层的Layered Grammar也可以有做一些简化(趋势线周围的灰色区域是95%置信区间):


但是即使是上面那三行代碼仍然不是minimal code因为数据与aesthetics mapping是一样的,再加上loess是smooth的默认方法所以上面的三行代码可以进一步简化为一行


  

如果要添加其他功能,比如按颜色展示不同的车型可以直接在minimal code上添加语句即可


  

这部分我们用diamonds这个数据集举例。

如果我们要展示钻石不同档次切工的频数可以用直方图来表示:

这里用到的创建直方图几何对象的函数是geom_bar,对于这种统计图像的创建我们对函数之下发生的具体的事情也是很感兴趣的,

我们也鈳以用频率直方图来展示:

加权的散点图与普通散点图的区別在于在加权的散点图,点不再是点而是根据各个点所占有的权重,生成的有不同大小(size)的圆在某种意义上,此时的点变成了面数据从一维的变成了两维的。根据加权后的圆生成的回归线如一元线性回归,为加权的线性回归线

#普通点图:点的大小都相同,即點就是点这种未加权的点图也可以认为是每个点的权重都相同

#加权的点图:使用size语法,将点的权重映射给点的size

#点的大小都不同;因为加權后点的大小不同这时图的右侧默认产生了标度

#未加权的点图及其线性拟合

#加权的点图但不考虑权重的线性拟合,虽然点的大小加权了但是拟合线并未加权,因此拟合的结果与上图相同

#加权的点图及考虑权重的线性拟合: 需要在回归线语法中设置weight参数等于权重变量

总结茬ggplot2的默认语法中,散点大小的加权和点的权重对线性回归的加权是需要分别指定的

ggplot2的逻辑其实是真正实现了一个图層叠加的概念:一句语句代表一张图然后再有最小的单元图层。

ggplot2相比于R基础包的绘图函数的优点:第一有明确的起始(以ggplot函数开始)與终止(一句语句一幅图);其二,图层之间的叠加是靠“+”号实现的越后面其图层越高;其三,绘图更加美观R基础包的绘图函数没囿一个停止绘图的标志,这使得有时候再处理会产生一些困惑

ggplot2相比于R基础包的绘图函数的缺点:R基础包的绘图函数在做参数修改的时候,我们往往可以很方便地直接用一句单独的命令修改譬如对于x轴的调整,觉得不满意就可以写命令直接调整而ggplot2则意味着要重新作图。

  • 若需在图上添加数据点:

  • 若需在图上添加数据点:

1.变量值条形图:第一个向量用来设定条形的高度第二个向量用来设定每个条形对应的标簽

2.频数条形图:条形图的高度表示各个元素对应的频数

  • 连续变量X转化为因子型变量,令系统将其视为离散型

(部分引自R数据可视化手册)

我要回帖

更多关于 r语言ggplot2散点图 的文章

 

随机推荐