【问题标题】:Points and lines won't connect [duplicate]点和线不会连接[重复]
【发布时间】:2013-12-09 12:45:01
【问题描述】:

我正在尝试连接情节中的点并尝试geom_point()+geom_line(),但它不起作用。

下面的代码只是为了点。有谁知道为什么geom_line() 不添加任何行?

DensityE = read.csv("DensityElk.csv", header = TRUE)
str(DensityE)

DensityE$Date <- factor(DensityE$Date, levels=
        c("20-May","3-Jun",
      "17-Jun","1-Jul","16-Jul", 
      "22-Jul", "15-Aug"), order=TRUE)

ggplot(data=DensityE, aes(Date,Density)) + 
geom_point(aes(shape = factor(Genus)), size = 4, 
position="jitter") + 
theme_bw() + xlab("Date") +
ylab("Density per m2") + ggtitle("COP 1992") +
opts(legend.key = theme_blank()) + 
opts (legend.title = theme_blank())+
opts(legend.text = theme_text(size=9))

【问题讨论】:

  • 请加reproducible exampleDensityElk.csv 长什么样子?
  • 您好,数据的子集是:1-Jul Epeorus 3.5 16-Jul Epeorus 3.25 22-Jul Epeorus 1 3-Jun Rhyacophila 1 17-Jun Rhyacophila 0.75
  • 非常感谢您的帮助!我之前确实尝试过在堆栈流上使用代码,但没有任何效果。

标签: r ggplot2


【解决方案1】:

因为您在 x 轴上使用了一个因子 (Date),所以ggplot2 不会自动跨 x 值连接线。两种解决方案是(1)geom_line(aes(group=Genus)) 或(2)geom_line(aes(x=as.numeric(Date)))

构造数据框:

DensityE <- data.frame(
    Date=c("1-Jul","16-Jul","22-Jul","3-Jun","17-Jun"),
    Genus=c("Epeorus","Epeorus","Epeorus","Rhyacophila","Rhyacophila"),
    Density=c(3.5,3.25,1,1,0.75))

制作情节:我做了一些改动

  • theme_blank 更改为element_blankopt 更改为theme 以与最近的ggplot2 版本保持一致
  • 移除抖动 -- 如果您想要抖动点和连接相同点的线,您必须手动将抖动添加到 y 值。

代码:

 library(ggplot2)
 ggplot(data=DensityE, aes(Date,Density)) + 
    geom_point(aes(shape = factor(Genus)), size = 4)+
    geom_line(aes(group=Genus))+
 theme_bw() + xlab("Date") +
 ylab("Density per m2") + ggtitle("COP 1992") +
 theme(legend.key = element_blank()) + 
 theme(legend.title = element_blank())+
 theme(legend.text = element_text(size=9))

【讨论】:

  • 嗨,不幸的是它仍然没有工作。我附上了一个带有日期、属和密度的数据集样本。我仍然无法弄清楚如何让它工作。感谢您的所有帮助!
  • 1-7 月 Epeorus 3.5 16-7 月 Epeorus 3.25 22-Jul Epeorus 1 3-Jun Rhyacophila 1 17-Jun Rhyacophila 0.75
  • 谢谢!这确实有效,但仅适用于我给你的数据子集。不幸的是,我的数据羊非常大,当我将代码用于整个数据集时它不起作用。对不起,我对此真的很陌生并且正在苦苦挣扎。有没有办法可以使用我的大数据集,或者我必须像你为整个事情做的那样制作一个数据框?将有大约 300 个密度测量值、日期和属。
猜你喜欢
  • 2021-04-02
  • 2018-10-29
  • 1970-01-01
  • 2017-01-01
  • 2017-08-19
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多