我有两个数据集(数据框):
我要绘制散点图,而不是绘制散点图。
首先,我想将SOI索引分为以下几类:
第二,我想在它们之间绘制一个图,以便将在同一组SOI指标值下匹配的所有降水值都绘制在它们上方。
样品降水数据(24个条目):
Jan 1981 61.0
Feb 1981 69.9
Mar 1981 22.9
Apr 1981 291.1
May 1981 153.7
Jun 1981 225.3
Jul 1981 243.9
Aug 1981 132.1
Sep 1981 90.9
Oct 1981 150.9
Nov 1981 127.3
Dec 1981 143.3
Jan 1982 130.8
Feb 1982 110.2
Mar 1982 63.3
Apr 1982 76.5
May 1982 76.2
Jun 1982 45.5
Jul 1982 79.5
Aug 1982 127.0
Sep 1982 140.7
Oct 1982 112.3
Nov 1982 152.4
Dec 1982 270.5
样本SOI指数: 数据位于“ https://www.esrl.noaa.gov/psd/gcos_wgsp/Timeseries/Data/soi.long.data”
请使用1981年1月至1982年12月的数据。
我还在下面(24个条目)提供该数据:
0.27
-0.47
-2.01
-0.60
0.82
1.28
0.87
0.40
0.52
-0.71
0.07
0.41
0.87
-0.03
0.05
-0.46
-0.74
-2.49
-1.89
-2.66
-2.12
-2.20
-3.25
-2.48
需要如下参考图:
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
您的问题在您的方面有点缺乏努力,因此,请投票(不是我的)。有很多可用的教程可以让您开始至少尝试重现所要绘制的情节。
此外,以下内容应给您一些想法;我把细节留给你。关键是使用cut
将SOE
的值归入不同的组。
setNames(cbind(df1, df2), c("Date", "Precip", "SOE")) %>%
mutate(SOE.Index = cut(
SOE,
breaks = c(-Inf, -1.5, -0.5, 0.5, 1.5, Inf),
labels = c("very low", "low", "moderate", "high", "very high"))) %>%
complete(SOE.Index) %>%
ggplot(aes(x = SOE.Index, y = Precip)) + geom_point()
df1 <- read.table(text =
"
'Jan 1981' 61.0
'Feb 1981' 69.9
'Mar 1981' 22.9
'Apr 1981' 291.1
'May 1981' 153.7
'Jun 1981' 225.3
'Jul 1981' 243.9
'Aug 1981' 132.1
'Sep 1981' 90.9
'Oct 1981' 150.9
'Nov 1981' 127.3
'Dec 1981' 143.3
'Jan 1982' 130.8
'Feb 1982' 110.2
'Mar 1982' 63.3
'Apr 1982' 76.5
'May 1982' 76.2
'Jun 1982' 45.5
'Jul 1982' 79.5
'Aug 1982' 127.0
'Sep 1982' 140.7
'Oct 1982' 112.3
'Nov 1982' 152.4
'Dec 1982' 270.5", header = F)
df2 <- read.table(text =
"0.27
-0.47
-2.01
-0.60
0.82
1.28
0.87
0.40
0.52
-0.71
0.07
0.41
0.87
-0.03
0.05
-0.46
-0.74
-2.49
-1.89
-2.66
-2.12
-2.20
-3.25
-2.48", header = F)