今天遇到一个可视化问题,关于散点图的分类、以及如何添加趋势线?需要操作内容有数据导入、转化、整合、可视化;

  • 一、可视化结果查看
  • 二、数据导入
  • 三、数据整合(宽转长)
  • 四、ggplot2作图
    • 看完如果对你有帮助,感谢点赞支持!
    • 如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

一、可视化结果查看

结果基本满足我的要求,但还有不足的地方:
1.拟合直线不平滑(不直);
2.没有直接显示直线公式、R2及p值。

二、数据导入

已经习惯数据导入用csv格式。

TDwx0505 <- read.csv("C:/Users/D.csv);head(TDwx0505)##导入数据
TDwx0505$plot <- as.factor(TDwx0505$plot)#转换数字型为因子型
TDwx0505$rep <- as.factor(TDwx0505$rep)
str(TDwx0505)#查看数据格式(数字型、因子型)
class(TDwx0505)#查看数据格式(数据框、向量、矩阵)
head(TDwx0505)#数据排列形式>  plot variety Treatment rep    TDW  TDAG    DWr   DWs   DWp TWDseed
1 7914   DD199       NTD   1    842.6 719.6 123.00 418.9 300.7  295.2
2 7916   DD199       NTD   2    540.4 461.6  78.75 250.4 211.3  231.1
3 7918   DD199       NTD   3    655.5 564.5  90.99 280.5 284.0  223.8
4 7923   DD199      NTDR   1    586.3 500.6  85.70 310.1 190.5  181.7
5 7921   DD199      NTDR   2    524.8 441.4  83.42 255.3 186.1  200.0
6 7919   DD199      NTDR   3    619.6 506.2 113.37 248.1 258.1  221.4
##

三、数据整合(宽转长)

library(reshape2)
TDwx0505_DW <- melt(data = TDwx0505[c(5:9)],##数据整合将TDW...DWp合为一列ID=c("plot","variety","Treatment","rep"),variable.name = "Biogroup",value.name = "Biomass")
TDwx0505_DW$TWDseed <- matrix(rep(TDwx0505$TWDseed,5))##将TWDseed复制5次,整合到原来数据框中,目的保证数据的一一对应
> str(TDwx0505_DW)
'data.frame': 120 obs. of  7 variables:$ plot     : Factor w/ 24 levels "7901","7902",..: 14 16 18 23 21 19 2 4 6 11 ...$ variety  : Factor w/ 2 levels "DD199","YG2009": 1 1 1 1 1 1 1 1 1 1 ...$ Treatment: Factor w/ 4 levels "NTD","NTDR","TD",..: 1 1 1 2 2 2 3 3 3 4 ...$ rep      : Factor w/ 3 levels "1","2","3": 1 2 3 1 2 3 1 2 3 1 ...$ Biogroup : Factor w/ 5 levels "TDW","TDAG","DWr",..: 1 1 1 1 1 1 1 1 1 1 ...$ Biomass  : num  843 540 655 586 525 ...$ TWDseed  : num [1:120, 1] 295 231 224 182 200 ...
> head(TDwx0505_DW)plot variety Treatment rep Biogroup Biomass TWDseed
1 7914   DD199       NTD   1      TDW  842.64  295.17
2 7916   DD199       NTD   2      TDW  540.39  231.08
3 7918   DD199       NTD   3      TDW  655.47  223.79
4 7923   DD199      NTDR   1      TDW  586.32  181.67
5 7921   DD199      NTDR   2      TDW  524.82  200.01
6 7919   DD199      NTDR   3      TDW  619.62  221.42

四、ggplot2作图

library(ggplot2)
library(ggpmisc)
TDwx0505_DW$Biogroup <- factor(TDwx0505_DW$Biogroup,ordered = TRUE,levels = c("TDW","TDAG","DWs","DWp","DWr"))##顺序排列TDwx0505 <- subset(TDwx0505,Treatment!="TT")##去除TT处理
TDwx0505_DW <- subset(TDwx0505_DW,Treatment!="TT")ggplot(data = TDwx0505_DW,aes(x=Biomass,y=TWDseed,color=Biogroup,shape=Biogroup,fill=Biogroup))+geom_point(size=2)+geom_smooth (method = lm,linetype=1,se=FALSE,span=1)+scale_shape_manual(values = c(21:25))+scale_fill_manual(values = c('red','green', 'blue', 'orange', 'purple'))+scale_color_manual(values = c('red','green', 'blue', 'orange', 'purple'))+ylab(expression(paste("SW "," ( ","g"," ",m^-2," )")))+xlab(expression(paste("DW"," ( ","g"," ",m^-2," )")))+expand_limits(y=c(150,450))+scale_y_continuous(breaks=c(150, 250,350,450))+mytheme##(mytheme是自己设定的) ##线性回归检验
fit <- lm(TWDseed~DWr+TDAG,data = TDwx0505)
summary(fit)
fit$coefficients

看完如果对你有帮助,感谢点赞支持!

如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

R语言散点图分类、配色、添加趋势线相关推荐

  1. R语言散点图可视化:自定义标题和标签、拟合回归线、lowess为散点图添加平滑拟合线、修改散点图中点颜色和点符号、分组散点图、添加图例、pairs可视化散点图矩阵、ggplt2可视化、lattice

    R语言散点图可视化:自定义标题和标签.拟合回归线.lowess为散点图添加平滑拟合线.修改散点图中点颜色和点符号.分组散点图.添加图例.pairs可视化散点图矩阵.ggplt2可视化.lattice ...

  2. 数据可视化——R语言为ggplot图形添加P值和显著性水平

    数据可视化--R语言为ggplot图形添加P值和显著性水平 准备 安装和加载R包 示例数据 均值比较的方法 用于添加P值的R函数 compare_means() stat_compare_means( ...

  3. R语言自定义多分类混淆矩阵可视化函数(mutlti class confusion matrix)、R语言多分类混淆矩阵可视化

    R语言自定义多分类混淆矩阵可视化函数(mutlti class confusion matrix).R语言多分类混淆矩阵可视化 目录

  4. R语言ggplot2可视化柱状图添加数值说明并控制文本、数值字体大小、轴标签字体大小实战

    R语言ggplot2可视化柱状图添加数值说明并控制文本.数值字体大小.轴标签字体大小实战 目录

  5. R语言ggplot2可视化并添加特定区间的回归线、R原生plot函数可视化并添加特定区间的回归线:Add Regression Line Between Certain Limits

    R语言ggplot2可视化并添加特定区间的回归线.R原生plot函数可视化并添加特定区间的回归线:Add Regression Line Between Certain Limits 目录

  6. R语言 | 二分类和多分类的逻辑回归实现

    目录 二分类逻辑回归 数据准备 模型构建 模型检验 多分类逻辑回归 二分类逻辑回归 首先,我先展示下我逻辑回归的总体代码,如果有基础的同志需要的话,可以直接修改数据和参数拿去用呀: library(l ...

  7. R语言绘图,分组添加拟合线,单独标注拟合函数和R2

    R语言绘图,分组添加拟合直线,并标注拟合函数和R2,实现分面后的数据单独自由的标注 #查看数据 head(iris) str(iris) 对不同物种(Species)的萼片长度(Sepal. Leng ...

  8. R语言数据关系可视化添加模型方程式及模型R方指标实战

    R语言数据关系可视化添加模型方程式及模型R方指标实战 目录 R语言数据关系可视化添加模型方程式及模型R方指标实战

  9. r语言 回归分析 分类变量_R语言 | 回归分析(二)

    R语言 语言学与R语言的碰撞 Xu & Yang PhoneticSan 学习参考 Discovering Statistics Using R Statistics for Linguist ...

最新文章

  1. jquery通知插件toastr
  2. bash命令的使用方法
  3. html pre设置宽度,求救!html语言中pre宽度的设置属性!
  4. GPS实验一:GPS手持机的使用
  5. android抓包工具——使用fiddler4在安卓手机抓包
  6. 素拓活动策划书的撰写范文
  7. java静态方法没有this,super与this无法用在static方法中
  8. 苹果鼠标滚轮驱动_黑苹果仿冒秒控鼠标
  9. C++程序设计:字符图形输出(数字三角形)
  10. isp邮件服务器是什么,与ISP企业邮箱共建邮件服务器
  11. Scratch入门:软件界面介绍
  12. DFS序——树链剖分前驱知识
  13. std::vector介绍
  14. git新建本地分支出现fatal: Not a valid object name:错误
  15. c语言横版格斗游戏,2.5D横版格斗游戏DEMO附素材
  16. 比尔盖茨、贝佐斯、扎克伯格-硅谷大佬的书单
  17. 通信相关名词的英文缩写
  18. 【Vue】 组件封装
  19. java bdd 框架_常见的BDD框架
  20. web文本编辑器php源码,超级轻量web富文本编辑器HandyEditor

热门文章

  1. 飞翔的小鸟游戏基于arm开发板制作
  2. 数字式调频收音机设计
  3. 学习巴菲特的正确姿势
  4. 阿里云学生机 部署JavaWeb项目
  5. 过敏性鼻炎是怎么引起的?
  6. 8月第2周业务风控关注 | 新氧加强内容审核并上线人脸识别技术
  7. 【leetcode】1104. Path In Zigzag Labelled Binary Tree
  8. 空气动力学基础课堂笔记
  9. module ‘tensorflow‘ has no attribute xxx tensorflow版本问题类导致API函数的报错
  10. java-net-php-python-Java沈师周边美食资源管理系统计算机毕业设计程序