在作图过程中,有时我们可能需要通过添加一些线条,使得图形的可视化变得更好,比如一些趋势线等等。

下面我们来看下,一些线条的添加方式。

geom_abline(mapping = NULL, data = NULL, ..., slope, intercept, na.rm = FALSE, show.legend = NA)
geom_hline(mapping = NULL, data = NULL, ..., yintercept, na.rm = FALSE, show.legend = NA)
geom_vline(mapping = NULL, data = NULL, ..., xintercept, na.rm = FALSE, show.legend = NA)
 
三个函数的作用分别是,geom_abline添加斜线, geom_hline添加水平线,geom_vline添加垂直线
 
参数slope 表示斜率  intercept表示截距
参数yintercept  表示y轴截距或直线所在位置
参数xintercept  表示x轴截距或直线所在位置
 
下面来看些具体的例子
 
library(ggplot2)
p<-ggplot(economics,aes(pop,psavert))
p+geom_point()

p+geom_point()+geom_abline(intercept=2.709e+01,slope=-7.447e-05 )

通过斜率和截距可以添加线性拟合线,至于两个参数的值可以同线性函数lm()获得。

  

当然拟合线也可以用geom_smooth(),相对而言这种方法更直接,p+geom_point()+geom_smooth(method="lm",se=FALSE)可以画出以上相同效果图。
 
p+geom_point()+geom_hline(yintercept = c(5,10,15))

  

 
 
p+geom_point()+geom_vline(xintercept = 245000)

  

这几个函数画线条的强大地方在于可以在线上的任意位置上画出你想要的线条。

 

ggplot2 geom相关设置——添加线条的更多相关文章

  1. ggplot2 geom相关设置—分布图

    分布在R中应该算是个比较重要的内容,而通过画图来展示数据的分布,可以更直观的让我们了解数据的分布情况 直方图 geom_histogram(mapping = NULL, data = NULL, s ...

  2. ggplot2 geom相关设置—点重合处理(jitter)

    在R中散点图的时候会经常出现,点重合比较严重的现象,这对我们寻找数据规律或者观察数据有很大的干扰. 所幸的是R中,可以用geom_jitter()函数来调整,消除点的重合. geom_jitter(m ...

  3. ggplot2 scale相关设置-坐标转换

    ggplot2 scale相关设置-坐标转换 在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换 用到的函数分别有: scale_x_log10(...) scale_y_l ...

  4. ggplot2 scale相关设置

     ggplot2   scale相关设置 标度设置:主要用于在ggplot画图后的各个图层进行调整设置. 1.相关属性scale设置 包括scale_size().scale_alpha().scal ...

  5. ggplot2 theme相关设置—线条设置

    在ggplot的主题射中有一部分图需要对图中的部分线条进行设置 element_line(colour = NULL, size = NULL, linetype = NULL, lineend = ...

  6. ggplot2 theme相关设置—文本调整

    在geom设置和scale设置之后,要想把图画的漂亮,theme设置是比不可少的 在theme 设置中element_text()是一项很重要的内容 element_text(family = NUL ...

  7. ggplot2 坐标系相关设置(coord)

    在ggplot中,未来更好的数据可视化效果,我们有时候可能要用到一些坐标转换的操作,比如要画横向条形图或者蜘蛛图等. coord_cartesian(xlim = NULL, ylim = NULL) ...

  8. ggplot2 theme相关设置—矩形设置(rect)

    在主题设置中,rect设置主要用于设置图例和面板 element_rect(fill = NULL, colour = NULL, size = NULL, linetype = NULL, colo ...

  9. ggplot2 scale相关设置2—时间设置

    在scale设置中,常用的日期方面的设置函数包括: scale_x_date(),scale_y_date(),scale_x_datetime(),scale_y_datetime()   接下来, ...

随机推荐

  1. 【转】Oracle + PHP Cookbook(php oracle clob 长度超过4000如何写入)

      在甲骨文LOB和PHP工作 由哈里Fuecks 达到4,000字节的限制?输入LOB ... 在这个"Oracle + PHP Cookbook"HowTo中,您将学习可用的L ...

  2. To the end

    身为一名初二狗的我也走过了半年.不管怎么说人生中也没有几个半年嘛.从九月到现在快四个月了,我也离中考越来越近了/郁闷/.但是还是要好好过唔.不过我想起这半学期还是挺充实的,至少没有浪费太多的时间.有些 ...

  3. 转载:c# string.Format

    C#:STRING.FORMAT数字格式化输出 1.各种常用数字格式化 货币转换 C 或 c(默认小数点后2位.C3后面跟的数字就代表小数后几位)    string.Format("{0: ...

  4. Hybrid App(二)Cordova+android入门

    上一篇介绍了app开发如何选型,由于公司人员组织结构的原因(app native较少,每个月一次迭代),因此选型hybrid app. 接下来说一下环境搭建: 一.Java环境 (1)安装jdk (2 ...

  5. 敏捷开发(九)- Scrum Sprint计划会议2

    本文主要是为了检测你对SCRUM Sprint 计划会议二的了解和使用程度, 通过本文你可以检测一下     1.你们的SCRUM Sprint 计划会议二的过程和步骤    2.SCRUM Spri ...

  6. 博客搬到CSDN了,以后就老实的呆在这儿吧~~

    几年前读书的时候就自己在做独立的个人博客网站,重做 + 改版好多次,域名也换了好几个- 163fly.com.godbz.com.zhouz.me ... 都是我曾经用过的域名,都放弃了- 发现到头来 ...

  7. CodeForces 677D Vanya and Treasure

    $dp$,树状数组. 很明显这是一个$DAG$上的$dp$,由于边太多,暴力$dp$会超时,需要优化. 例如计算$dp[x][y]$,可以将区域分成四块,$dp[x][y]$取四块中的最小值,每一块用 ...

  8. Mysql登录后看不到数据库

    进入数据库后,只能看到information_schema/test这两个库,其他的数据库都看不到,这是权限出了问题. 关闭Mysql /usr/local/mysql/support-files/m ...

  9. NOIP2010-普及组初赛C语言解析

    第十六届全国青少年信息学奥林匹克联赛初赛试题 一.单项选择题 (共20题,每题1.5分,共计30分.每题有且仅有一个正确选项.) 1.2E+03表示(  D  ). A.2.03          B ...

  10. js输入框对金额的匹配

    /** * 金额格式化 * @param s * @param n * @returns {String} */ function fmoney(s, n) { n = n > 0 && ...