R语言画图——添加数学表达式和R2(Ⅱ)
R语言画图——添加数学表达式和R2(Ⅱ)
前言
胸卡没有想到随手写的博客竟然得到了那么多的关注!
一天的访问量直接破千,而且还得到了大神的鼓励!(激动)
估计大家是被这个标题吸引。(哈哈)
果然,天下苦R添加数学表达式久矣。
然而,第二篇博客还有很多细节没有完善,这次附上代码和精讲。
以后,胸卡会分享平时画图的一些小技巧,欢迎喜欢R语言的朋友一起交流。
那我们直接进入正题!
正文
一般我们在R上使用 geom_smooth()
函数来添加一系列的平滑曲线。
但是某些参考书给出的方法实在是有限,而且超级不好用。
胸卡在初次使用R作图的时候也是被搞得很难受,找了好久的代码。
这次,直接使用stat_function()
函数完成作图。
首先,给出代码:
a <- c(1, 2, 3, 4, 5)
b <- c(5, 4, 3, 2, 1)c <- data.frame(a, b)library(ggplot2)p <- ggplot(data = c, aes(x = a, y = b)) + geom_point() + geom_smooth(method = "lm", color = "red")p
图1如下:
通过拟合得知:函数为y = -x + 6 , R^2 = 1
我们可以通过 stat_function()
函数直接拟合曲线。
代码如下:
p <- ggplot(data = c, aes(x = a, y = b)) + geom_point() + stat_function(fun = function(x)-1*x+6, color = "orange", size = 1) p
图2如下:
最后,使用annotate()
函数添加文本。
p <- ggplot(data = c, aes(x = a, y = b)) + geom_point() + stat_function(fun = function(x)-1*x+6, color = "orange", size = 1) +annotate("text", x = 4, y = 5, parse = TRUE, label = "y == -x+6", size = 4) +annotate("text", x = 4, y = 4.5, parse = TRUE, label = "atop(R^2==1)", size = 4) p
图3如下:
补充1:上下标代码
在图3中,我们还用到了上标代码,atop()
函数。
同时,在这里也给出下标的代码。
p <- ggplot(data = c, aes(x = a, y = b)) + geom_point() + stat_function(fun = function(x)(-1)*x+6, color = "orange", size = 1) +annotate("text", x = 4, y = 5, parse = TRUE, label = "y == -x+6", size = 4) +annotate("text", x = 4, y = 4.5, parse = TRUE, label = "atop(R^2==1)", size = 4) +annotate("text", x = 4, y = 4, parse = TRUE, #下标label = "x[1]==x[2]", size = 4)p
如图:
补充2 其他函数
如果是其他函数则直接这样编写代码:
#指数函数
stat_function(fun = function(x)1.5015*exp(x*(-0.009)), size = 1) +
annotate("text", x = 25, y = 2.5, parse = TRUE, label = "y == 1.5015*e^{-0.009*x}")#二次函数:
stat_function(fun = function(x)-90.613*x+630.42*x^2+4.3696, size = 1) +
annotate("text", x = 0.09, y = 2.51, parse = TRUE, label = "y == 630.42*x^{2}-90.613*x+4.3696") #注意:这里的上标使用{}表达
有不明白的地方,欢迎在评论区讨论,也请大家批评指正。
R语言画图——添加数学表达式和R2(Ⅱ)相关推荐
- R语言画图/绘图/作图2
R语言画图/绘图/作图2 动画气泡图 可以使用该gganimate包实现动画气泡图.它与气泡图相同,但是,您必须显示值如何在第五维(通常是时间)上变化. 要做的关键是将 设置为aes(frame)要在 ...
- 用计算机怎么计算r角度,R语言中的数学计算
原标题:R语言中的数学计算 前言 R是作为统计语言,生来就对数学有良好的支持,一个函数就能实现一种数学计算,所以用R语言做数学计算题特别方便.如果计算器中能嵌入R的计算函数,那么绝对是一种高科技产品. ...
- R语言中的数学计算(转载)
R语言中的数学计算 关于作者: 张丹(Conan), 程序员Java,R,PHP,Javascript weibo:@Conan_Z blog: http://blog.fens.me email: ...
- linux r语言画图,R语言︱画图
笔者寄语:不论画啥,你先plot准没错. plot 二维坐标绘图 dotchart 点图 barplot 条形图 hist 直方图 pie 饼图 points 添加点 lines 添加线 text 添 ...
- R语言eval函数评估表达式或者字符串实战
R语言eval函数评估表达式或者字符串实战 目录 R语言eval函数评估表达式或者字符串实战 #基本语法 #eval函数评估表达式
- R开发(part2)--R语言中的数学计算
学习笔记,仅供参考,有错必纠 参考自:<R的极客理想>-- 张丹 文章目录 R开发 R语言中的数学计算 对数 加权平均.连乘.差分.秩.任意数.全体数 阶乘.组合.排列 累加.累乘.最小累 ...
- R语言画图的实例分析,坐标轴,图例等设置
通过一个具体的案例对R语言的画图进行分析,主要包括辅助线的添加,plot()函数的基本参数设置,以及图例坐标轴的设置. 案例分析 ##数据的输入, dose <- c(20, 30, 40, ...
- R 语言画图中英文字体解决方案
在某些时候,需要在 R 画图中添加中文,但是默认情况下,R 对中文的支持不好.这里推荐一个showtext的 R 包.如果需要将含有中文字体的图形保存为 pdf 文件,可以使用下面讲到的方案,最新版的 ...
- R语言画图功能到底有多厉害,看看就知道了
人们都说R语言的画图能力很强,但到底有多强,很少人见过吧.今天,我们就要R语言来画画地图,看看有多么简单. R语言身为一名开源语言,身后有世界各地的大牛在为他开发.到目前位置,R语言已经有了8000多 ...
最新文章
- linux用户和文件目录管理
- 几个进程管理的命令:pkill,pidof,kill,killall,job
- Nature子刊 | 研究人员提出神经脆性可作为癫痫发作区(SOZ)的脑电图(EEG)标志物
- 采用8种相位,每种相位各有两种幅度的QAM调制方法,在1200Baud的信号传输速率下能达到的网数据传输速率为( )
- 科普向,什么是 Lua 语言?
- linux设置时间快1小时,LINUX CentOS系统时间与现在时间相差8小时解决方法
- Linux上构建一个RADIUS服务器详解
- 入门机器学习(十八)--异常检测(Anomaly Detection)
- eclipse 启动服务后,部署的文件一直是旧的文件的原因分析
- python pytest setupclass_python – Pytest – 如何将参数传递给setup_class?
- android绑定服务空指针,android aidl问题空指针的问题
- 微信⼩程序——wxParse使⽤⽅法
- Spring Security系列之基本原理
- 卷积神经网络的现代雏形——LeNet
- Makefile中wildcard函数的应用理解
- css 常用的各种中文字体
- 【檀越剑指大厂--mysql】mysql高阶篇
- 复数的概念及运算(复变函数)
- 拼多多token延长时间
- 【读书笔记】explain详细解释
热门文章
- 微信小程序红包(优惠劵)弹窗的实现
- 计算机c盘删除的文件怎么找回,电脑C盘里面文件误删了,不能开启电脑了,怎么办?...
- python scripts文件夹里面没有pip.exe怎么办?
- 成绩查询源码mysql_基于PHP+MYSQL的成绩查询系统(含源码)
- hub_thread
- 一文看懂Pinterest如何构建时间序列数据库系统Goku
- 鸿蒙系统是开放系统还是封闭系统,鸿蒙系统三挑战:应用如何兼容,生态怎么搭建,开放还是闭合...
- SQL server 嵌套查询
- systemVerilog Assertion (SVA)断言语法
- ABAP中CA CS CO用法