如何解决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 举报,一经查实,本站将立刻删除。