微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ggplot不输出数据帧中的值

如何解决ggplot不输出数据帧中的值

我有以下数据框:

Year Ocean      O2_Conc
   <dbl> <chr>        <dbl>
 1 2010. Reference 0.000237
 2 2010. Pacific   0.000165
 3 2010. Southern  0.000165
 4 2012. Reference 0.000237
 5 2012. Pacific   0.000165
 6 2012. Southern  0.000165
 7 2012. Reference 0.000237
 8 2012. Pacific   0.000165
 9 2012. Southern  0.000165

我想在 ggplot2 中绘制这些数据以生成不同海洋颜色不同的散点图。我尝试了以下代码,它适用于类似的数据:

ggplot(data=df,aes(x="Year",y="O2_Conc",color="Ocean")) + geom_point()

这给了我这个输出。有人可以解释为什么数字没有出现在图表的轴上吗? GGplot output

解决方法

以下代码绘制点,而不是字符串 "Ocean",而是绘制更多点。它创建了一个新变量 n,按年份和海洋计算 O2_Conc 的重复次数,并将年份视为日期。

library(ggplot2)
library(dplyr)

df %>% 
  group_by(Year,Ocean) %>%
  mutate(n = n()) %>%
  mutate(Year = as.Date(paste(Year,"01",sep = "-"))) %>%
  ggplot(aes(Year,O2_Conc,color = Ocean)) +
  geom_point(aes(size = n),alpha = 0.5,show.legend = FALSE) +
  scale_x_date(date_breaks = "year",date_labels = "%Y")

数据

df <- read.table(text = "
Year Ocean      O2_Conc
 1 2010. Reference 0.000237
 2 2010. Pacific   0.000165
 3 2010. Southern  0.000165
 4 2012. Reference 0.000237
 5 2012. Pacific   0.000165
 6 2012. Southern  0.000165
 7 2012. Reference 0.000237
 8 2012. Pacific   0.000165
 9 2012. Southern  0.000165
",header = TRUE)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。