r - 绘制更平滑的多条线
问题描述
我有以下数据集,其中包含三个变量,物种、二氧化碳和气孔密度。我正在寻找一个图,其中每个物种都有一条线,以显示每个物种的气孔密度如何随着二氧化碳的变化而变化。我使用了以下代码。
# Libraries
library(ggplot2)
library(dplyr)
# Separate into Species
don <- mydata %>%
filter(Species %in% c("Alnus glutinosa", "Betula pendula", "Betula pubescens", "Corylus avellana", "Quercus petrea", "Sorbus aucuparia"))
# Plot
don %>%
ggplot( aes(x=CO2, y=Stomatal_Density, group=Species, color=Species)) +
geom_line()
该代码有效,但是,每个情节的线条看起来并不好。
我尝试替换geom_line()
为,geom_smooth()
但图表上没有出现线条。有没有办法让这些线条看起来更好?
更新:这是我的数据
dput(mydata)
structure(list(Species = c("Alnus glutinosa", "Alnus glutinosa",
"Alnus glutinosa", "Alnus glutinosa", "Alnus glutinosa", "Alnus glutinosa",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pendula",
"Betula pendula", "Betula pendula", "Betula pendula", "Betula pubescens",
"Betula pubescens", "Betula pubescens", "Betula pubescens", "Betula pubescens",
"Betula pubescens", "Betula pubescens", "Betula pubescens", "Betula pubescens",
"Betula pubescens", "Betula pubescens", "Corylus avellana", "Corylus avellana",
"Corylus avellana", "Corylus avellana", "Corylus avellana", "Corylus avellana",
"Corylus avellana", "Corylus avellana", "Corylus avellana", "Corylus avellana",
"Corylus avellana", "Corylus avellana", "Corylus avellana", "Corylus avellana",
"Corylus avellana", "Corylus avellana", "Corylus avellana", "Corylus avellana",
"Corylus avellana", "Corylus avellana", "Corylus avellana", "Corylus avellana","Quercus petrea", "Quercus petrea", "Quercus petrea", "Quercus petrea",
"Quercus petrea", "Quercus petrea", "Quercus petrea", "Quercus petrea",
"Quercus petrea", "Quercus petrea", "Quercus petrea", "Quercus petrea",
"Quercus petrea", "Quercus petrea", "Quercus petrea", "Sorbus aucuparia",
"Sorbus aucuparia", "Sorbus aucuparia", "Sorbus aucuparia", "Sorbus aucuparia",
"Sorbus aucuparia", "Sorbus aucuparia", "Sorbus aucuparia"),
CO2 = c(356.45, 371.14, 371.14, 371.14, 375.8, 391.65, 358.87,
358.87, 358.87, 358.87, 358.87, 358.87, 358.87, 358.87, 358.87,
361.2, 361.2, 361.2, 361.2, 361.2, 363.55, 363.55, 363.55,
363.55, 337.86, 373.47, 373.47, 373.47, 373.47, 387.63, 389.63,
392.27, 392.27, 392.27, 392.27, 392.27, 392.27, 392.27, 392.27,
392.27, 392.27, 392.27, 392.27, 392.27, 392.27, 392.27, 392.27,
392.27, 392.27, 392.27, 393.83, NA, NA, 354.39, 356.46, 356.46,
358.87, 361.2, 353.83, 387.63, 389.63, 393.83, 409.39, 411.18,
356, 371.14, 371.14, 371.14, 375.8, 389.63, 389.63, 389.63,
389.63, 389.63, 389.63, 389.63, 389.63, 389.63, 389.63, 389.63,
389.63, 389.63, 389.63, 389.63, 389.63, 389.63, 291, 300.6,
300.6, 356.46, 356.46, 356.46, 363.55, 363.55, 366.75, 370.19,
370.19, 406.62, 409.39, 409.39, 409.39, 305, 356, 356, 362.61,
371.14, 371.14, 371.14, 377.52), SD = c(108, 218.75, 218.75,
92.01388889, 107.85, NA, 60, 108.1, 135.6, 128.4, 115.1,
202.6, 102.4, 65.9, 39.3, 45, 79.5, 105.2, 93.9, 75.3, 79.3,
62, 93.9, 81.4, 101, 66.8, 132.81, 132.81, 92.45, 174.6,
160, 243.68, 187.98, 229.76, 222.76, 208.87, 160.13, 194.95,
215.83, 222.79, 201.91, 208.87, 187.98, 250.64, 181.02, 292.42,
264.57, 257.61, 264.57, 243.68, 14, 127, 143, NA, 147, 61,
87.8, 65, 124.5, 111.1, 107, 12.6, 2.99, 2.99, 225, 164.9305556,
164.9305556, 101.5625, 84, 113.64, 95.25, 98.32, 94.38, 107.34, 83.08, 96.45, 91.48, 92.11, 90.8, 99.6, 91.45, 117.73, 83.33,
96.28, 88.26, 110.58, 698, 810, 468, 510, 370, 405, 47.5,
19.6, 4.6, 394.3, 355.1, 333, 215.14, 168.06, 175.33, 118,
224, 132, 132, 157.1180556, 157.1180556, 99.39236111, 73.9
)), class = "data.frame", row.names = c(NA, -109L))
解决方案
推荐阅读
- android - Canvas 的 drawBitmap 方法导致缩放后性能不佳
- amazon-web-services - AWS CodeStar 的 AWS AppSync GraphQL 解析器
- reactjs - 模块解析失败:使用 webpack-dev-server 的意外令牌
- javascript - 在不使用 row.find('td:eq(0)') 的情况下获取每一列
- c# - 如何将 topshelf 集成到现有的 Windows 服务项目中?
- node.js - 代码正确但在节点 js 套接字 io 上显示错误?
- scala - 如何将数据帧数组转换为单个数据帧?
- c++ - cpp中的以下链表程序有什么问题?
- javascript - 如何在javascript中获取开关切换状态(真/假)
- regex - m 和 rx 有什么区别?