我有以下数据帧:
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输出
下面的代码绘制点,而不是字符串"Ocean"
,但做了更多。它创建了一个新的变量n
,按年份和海洋计算O2_Conc
的重复次数,并将年份视为日期。
library(ggplot2)
library(dplyr)
df %>%
group_by(Year, Ocean) %>%
mutate(n = n()) %>%
mutate(Year = as.Date(paste(Year, "01", "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)