比例填充手册 - 颜色比例的值映射到不同图上的不同颜色
Scale fill manual - values of the color scale mapped to different colors on different plots
我有一系列数据框如下所示:
> head(df_maxima, 10)
t distance_max intesity_max s_n_max
1 4.034 49.706 1979.922 2.251441
2 4.244 49.706 2008.562 2.269629
3 8.068 77.321 2248.527 2.388716
4 8.278 77.321 2255.795 2.389224
5 12.102 99.412 2330.322 2.512899
6 12.312 99.412 2327.884 2.517018
7 16.136 121.504 2348.834 2.541273
8 16.346 121.504 2348.147 2.539562
9 20.170 138.073 2309.776 2.583442
10 20.380 138.073 2307.124 2.579166
> tail(df_maxima, 10)
t distance_max intesity_max s_n_max
139 280.653 331.375 1213.470 1.296612
140 280.863 331.375 1218.176 1.310372
141 284.687 331.375 1226.017 1.304955
142 284.897 331.375 1228.822 1.309873
143 288.721 325.852 1233.728 1.338480
144 288.930 325.852 1239.651 1.339542
145 292.754 325.852 1240.988 1.342206
146 292.965 325.852 1243.669 1.347340
147 296.789 325.852 1244.913 1.347174
148 296.999 325.852 1250.809 1.350358
我想绘制我的数据,以便点的填充基于列 s_n_max 中的值。我还希望与 s_n_max 的某些值区间匹配的颜色在不同的数据框和不同的图表中保持一致,以便能够直观地比较图表。这似乎是一个问题,因为 s_n_max 的值在不同的数据帧中可能不同,因此在一个数据帧中 s_n_max 值的范围可以在 1.5 到 2.5 之间,而在另一个数据帧中 s_n_max 可以介于 0.5 和 2 或 5 之间。
我希望将刻度的颜色稳定地分配给 s_n_max 的 4 类 个值(s_n_max < 1, 1<= s_n_max < 1.5, 1,5 <= s_n_max < 2, s_n_max >= 2), 即使某个数据框中的 s_n_max 未命中,也要坚持这种颜色范围的值分配某些值。
目前我使用这段代码生成下图
my_pal_quant_2 <- RColorBrewer::brewer.pal(9, "Blues")
ggplot()+
geom_point(data=df_maxima, aes(x=t, y=distance_max, fill=cut(s_n_max, c(0,1,1.5,2,max(s_n_max)))), shape=21, col=my_pal_gray[5], stroke=0.01, size=3.5, alpha=1)+
xlab("Time [s]") +
ylab(paste("Distance from the centre", "\n" , "[\U003BCm]"))+
theme_bw(base_size=18)+
theme(plot.title = element_text(hjust = 0.5))+
labs(fill="signal/noise") +
scale_fill_manual(values =c(my_pal_quant_2[1],my_pal_quant_2[3], my_pal_quant_2[5], my_pal_quant_2[8]))+
guides(aesthetics = "fill", fill = guide_legend(reverse = TRUE, override.aes = list(shape = 21, size= 10)))
我认为在 scale_fill_manual 中按顺序引入中断并指定颜色会起作用,但正如您在图中看到的那样,较浅的颜色 (my_pal_quant_21) 它没有按我的意愿分配给 s_n_max 值的第一个区间 (s_n_max < 1).
我认为问题是我必须修复比例限制,但是如果我以这种方式在图表代码中指定限制
ggplot()+
geom_point(data=df_maxima, aes(x=t, y=distance_max, fill=cut(s_n_max, c(0,1,1.5,2,max(s_n_max)))), shape=21, col=my_pal_gray[5], stroke=0.01, size=3.5, alpha=1)+
xlab("Time [s]") +
ylab(paste("Distance from the centre", "\n" , "[\U003BCm]"))+
theme_bw(base_size=18)+
theme(plot.title = element_text(hjust = 0.5))+
labs(fill="signal/noise") +
scale_fill_manual(values =c(my_pal_quant_2[1],my_pal_quant_2[3], my_pal_quant_2[5], my_pal_quant_2[8]), limits=c(0,10))+
guides(aesthetics = "fill", fill = guide_legend(reverse = TRUE, override.aes = list(shape = 21, size= 10)))
结果如下图 2 所示 - 点的颜色填充已经消失,并且限制似乎已经覆盖了中断。
知道为什么会这样吗?我该如何解决?
这是我的数据的可重用(我希望)版本
> dput(df_maxima)
structure(list(t = c(4.034, 4.244, 8.068, 8.278, 12.102, 12.312,
16.136, 16.346, 20.17, 20.38, 24.204, 24.414, 28.238, 28.448,
32.272, 32.482, 36.306, 36.516, 40.34, 40.55, 44.374, 44.584,
48.408, 48.618, 52.441, 52.652, 56.476, 56.686, 60.51, 60.72,
64.544, 64.754, 68.578, 68.788, 72.611, 72.822, 76.645, 76.856,
80.68, 80.89, 84.714, 84.924, 88.748, 88.958, 92.781, 92.992,
96.816, 97.026, 98.175, 102, 102.21, 106.034, 106.244, 110.068,
110.278, 114.102, 114.312, 118.136, 118.346, 122.17, 122.38,
126.204, 126.414, 130.238, 130.448, 134.272, 134.482, 138.306,
138.516, 142.34, 142.55, 146.373, 146.584, 150.408, 150.618,
154.442, 154.652, 158.475, 158.686, 162.51, 162.72, 166.544,
166.754, 170.578, 170.788, 174.612, 174.821, 178.645, 178.856,
182.68, 182.89, 186.715, 186.924, 190.749, 190.958, 194.783,
194.993, 198.817, 199.027, 200.175, 204, 204.21, 208.032, 208.242,
212.067, 212.277, 216.102, 216.312, 220.135, 220.346, 224.17,
224.381, 228.205, 228.415, 232.239, 232.449, 236.273, 236.483,
240.307, 240.519, 244.344, 244.554, 248.378, 248.588, 252.411,
252.621, 256.447, 256.657, 260.48, 260.691, 264.515, 264.725,
268.55, 268.76, 272.584, 272.794, 276.618, 276.828, 280.653,
280.863, 284.687, 284.897, 288.721, 288.93, 292.754, 292.965,
296.789, 296.999), distance_max = c(49.706, 49.706, 77.321, 77.321,
99.412, 99.412, 121.504, 121.504, 138.073, 138.073, 154.641,
154.641, 160.164, 165.687, 176.733, 176.733, 182.256, 182.256,
198.825, 198.825, 204.348, 204.348, 209.871, 209.871, 220.916,
220.916, 226.439, 226.439, 231.962, 231.962, 237.485, 237.485,
243.008, 243.008, 248.531, 248.531, 254.054, 254.054, 259.577,
259.577, 265.1, 265.1, 265.1, 265.1, 276.146, 276.146, 281.668,
281.668, 281.668, 287.191, 287.191, 292.714, 292.714, 298.237,
298.237, 298.237, 298.237, 303.76, 303.76, 303.76, 303.76, 309.283,
309.283, 314.806, 314.806, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 314.806, 314.806, 314.806,
314.806, 314.806, 314.806, 314.806, 314.806, 314.806, 314.806,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 325.852, 325.852,
331.375, 325.852, 331.375, 331.375, 331.375, 331.375, 331.375,
331.375, 336.898, 336.898, 336.898, 336.898, 336.898, 336.898,
336.898, 336.898, 336.898, 336.898, 336.898, 336.898, 331.375,
331.375, 331.375, 331.375, 325.852, 325.852, 325.852, 325.852,
325.852, 325.852), intesity_max = c(1979.92230381636, 2008.56166900881,
2248.52723179505, 2255.79451634931, 2330.32234953711, 2327.88378516362,
2348.8343415127, 2348.14680159507, 2309.77579065898, 2307.12423239007,
2277.66403763103, 2276.1881433748, 2226.63189556725, 2223.04612992737,
2187.44521152477, 2185.01854317659, 2113.40419145911, 2106.95311432289,
2019.47872850255, 2014.75513931461, 1970.8748703856, 1967.29978877911,
1892.83180486698, 1884.08321387381, 1860.28811848347, 1855.7989916887,
1819.68600120569, 1815.31483959351, 1752.25959566801, 1748.94651654063,
1707.44631517983, 1701.81874724901, 1672.31610178508, 1675.07262830824,
1629.35577737165, 1622.95594527249, 1594.73271800544, 1592.26365342627,
1565.15450424085, 1564.02814029807, 1529.45736225544, 1526.40298637471,
1485.87646781073, 1482.32587007202, 1452.38332379034, 1454.36364601585,
1432.32690458437, 1433.58090017712, 1416.20657028369, 1381.5077909554,
1376.91061677601, 1364.03626066873, 1363.38629589693, 1359.20369261903,
1361.42177642401, 1356.84766849606, 1355.1820901064, 1348.4887820217,
1346.09076725648, 1323.16977340783, 1322.27276997107, 1306.4789364913,
1304.89078683714, 1292.06132553484, 1291.47612962683, 1274.77496623058,
1276.04234959366, 1271.43272691217, 1272.45637976839, 1264.41961088779,
1262.66261404286, 1258.4304721833, 1257.08637663008, 1129.51935239079,
1129.91981422936, 1122.72850546887, 1125.52847921021, 1114.91002191344,
1112.57041678153, 1102.87212456803, 1103.0139141179, 1092.39671914476,
1094.48738639713, 1090.77518264334, 1092.24215670475, 1092.36185428102,
1094.1466007486, 1095.52481154781, 1096.7799517286, 1098.72028552569,
1100.37722731199, 1100.14404983392, 1101.74967173289, 1098.72888304895,
1101.63529496167, 1104.32279375354, 1106.09416482097, 1105.30981381202,
1105.60346635643, 1112.34119682095, 1094.0590377904, 1096.12380055849,
1094.31126456126, 1099.43669810833, 1109.82141151297, 1113.74550644555,
1115.34987618966, 1118.59469793335, 1118.50411722512, 1121.03542726029,
1113.02090147212, 1116.55315296217, 1116.52649565333, 1119.77567158107,
1124.9297007421, 1128.98942805628, 1132.57644869893, 1138.45514326464,
1140.14078719406, 1143.18950233488, 1150.2064714797, 1154.24855514644,
1158.30088658969, 1162.97171227054, 1163.47885128066, 1168.31102965649,
1169.73067354679, 1174.56368305098, 1174.84712548331, 1178.56944753478,
1173.96461080875, 1178.97433433504, 1180.86639684943, 1185.49285459939,
1195.04680018485, 1199.61087517408, 1206.40514550419, 1208.54362602938,
1213.46993848896, 1218.17568229377, 1226.01745918658, 1228.82153926183,
1233.72771711532, 1239.65120994883, 1240.98800664377, 1243.6691625855,
1244.91314782737, 1250.80863046917), s_n_max = c(2.25144148537218,
2.26962887230276, 2.38871589544491, 2.38922391175673, 2.51289889125301,
2.5170179020928, 2.5412726374042, 2.53956231724249, 2.58344241539977,
2.57916599135521, 2.42254325331079, 2.42816796633502, 2.37220684712286,
2.40814651195294, 2.38006310500208, 2.37934846653566, 2.31890961006215,
2.31608616128134, 2.26693619609292, 2.25612224153314, 2.0931881891597,
2.09778079349956, 2.04645183980855, 2.03330490556759, 2.07703705705985,
2.07014084276515, 2.00439268600544, 2.0013108262749, 1.93265951204332,
1.93027690765212, 1.85367117349408, 1.84744199845415, 1.80213581085882,
1.80267095818825, 1.79820713290254, 1.7910497892261, 1.73323861178584,
1.72934330125006, 1.66232486917941, 1.66103765430581, 1.62892610676827,
1.62460389580007, 1.58359519743233, 1.57663763185811, 1.59280956262804,
1.59605224692903, 1.57513185505005, 1.57092109979469, 1.55201236893203,
1.48736244804815, 1.48206570585183, 1.47833613438516, 1.4805189393531,
1.49764205481733, 1.50533350109248, 1.49439604443481, 1.49045472310451,
1.48702165261742, 1.48054230720796, 1.45413011763978, 1.45208336219909,
1.43340417360416, 1.42969476117652, 1.4165296294318, 1.41088732655332,
1.40026099710555, 1.39815883895423, 1.38917223571977, 1.39194103868671,
1.37472546455223, 1.37955200329312, 1.36530070337863, 1.35742463825747,
1.30031621280637, 1.30070123872516, 1.27445331707465, 1.2742742097163,
1.24602906139047, 1.24817213460883, 1.22416583200257, 1.22489897712777,
1.20550590696318, 1.20201181567261, 1.2273211640213, 1.22959755767437,
1.22098561833547, 1.22306831038143, 1.2155481359841, 1.22077186429451,
1.21416022186004, 1.21403825487672, 1.20445566473816, 1.20763840494796,
1.19876531490627, 1.20279973453789, 1.20202981062653, 1.19847842971369,
1.20046173375287, 1.19790682341363, 1.20114073410853, 1.18165803031087,
1.1815533546873, 1.1803104555859, 1.18732518285618, 1.19454698002281,
1.20073805437238, 1.20215081816326, 1.20169452668347, 1.201164773576,
1.20537821528183, 1.20414555027744, 1.2082695928816, 1.20539379029823,
1.20846070398292, 1.21463967864487, 1.22005674610479, 1.22609538571136,
1.23340567583566, 1.22406225441233, 1.23818075625747, 1.23378181088266,
1.23695367736438, 1.24586694689738, 1.2453508392526, 1.25057586814617,
1.25490794009328, 1.24031510917234, 1.24841997032498, 1.25355962979258,
1.25341734386246, 1.24963712427607, 1.25490871831107, 1.2587833687635,
1.26083720278796, 1.27207911317142, 1.27470951063669, 1.28279376500857,
1.2863610194323, 1.29661211997708, 1.31037230050035, 1.30495528634301,
1.30987283392375, 1.33848020532095, 1.3395424299679, 1.34220559786466,
1.34734031085204, 1.34717399611496, 1.35035801558689)), .Names = c("t",
"distance_max", "intesity_max", "s_n_max"), row.names = c(NA,
-148L), class = "data.frame")
>
这里一个可能的解决方案是在 ggplot2
之外生成 4 个组,并在 scale_fill_manual
函数的 breaks
参数中传递它们的级别:
library(dplyr)
DF <- df_maxima %>%
mutate(Group = cut(s_n_max, breaks = c(0,1,1.5,2, Inf), include.lowest = TRUE))
library(ggplot2)
ggplot(DF,
aes(x = t, y = distance_max,
fill = Group))+
geom_point(color = my_pal_quant_2[5], stroke = 0.01, shape = 21, size = 3.5, alpha = 1)+
scale_fill_manual(breaks = levels(DF$Group), drop = FALSE,
values = my_pal_quant_2[c(1,3,5,8)])+
guides(fill = guide_legend(reverse = TRUE))
它是否符合您的功能?
我有一系列数据框如下所示:
> head(df_maxima, 10)
t distance_max intesity_max s_n_max
1 4.034 49.706 1979.922 2.251441
2 4.244 49.706 2008.562 2.269629
3 8.068 77.321 2248.527 2.388716
4 8.278 77.321 2255.795 2.389224
5 12.102 99.412 2330.322 2.512899
6 12.312 99.412 2327.884 2.517018
7 16.136 121.504 2348.834 2.541273
8 16.346 121.504 2348.147 2.539562
9 20.170 138.073 2309.776 2.583442
10 20.380 138.073 2307.124 2.579166
> tail(df_maxima, 10)
t distance_max intesity_max s_n_max
139 280.653 331.375 1213.470 1.296612
140 280.863 331.375 1218.176 1.310372
141 284.687 331.375 1226.017 1.304955
142 284.897 331.375 1228.822 1.309873
143 288.721 325.852 1233.728 1.338480
144 288.930 325.852 1239.651 1.339542
145 292.754 325.852 1240.988 1.342206
146 292.965 325.852 1243.669 1.347340
147 296.789 325.852 1244.913 1.347174
148 296.999 325.852 1250.809 1.350358
我想绘制我的数据,以便点的填充基于列 s_n_max 中的值。我还希望与 s_n_max 的某些值区间匹配的颜色在不同的数据框和不同的图表中保持一致,以便能够直观地比较图表。这似乎是一个问题,因为 s_n_max 的值在不同的数据帧中可能不同,因此在一个数据帧中 s_n_max 值的范围可以在 1.5 到 2.5 之间,而在另一个数据帧中 s_n_max 可以介于 0.5 和 2 或 5 之间。
我希望将刻度的颜色稳定地分配给 s_n_max 的 4 类 个值(s_n_max < 1, 1<= s_n_max < 1.5, 1,5 <= s_n_max < 2, s_n_max >= 2), 即使某个数据框中的 s_n_max 未命中,也要坚持这种颜色范围的值分配某些值。
目前我使用这段代码生成下图
my_pal_quant_2 <- RColorBrewer::brewer.pal(9, "Blues")
ggplot()+
geom_point(data=df_maxima, aes(x=t, y=distance_max, fill=cut(s_n_max, c(0,1,1.5,2,max(s_n_max)))), shape=21, col=my_pal_gray[5], stroke=0.01, size=3.5, alpha=1)+
xlab("Time [s]") +
ylab(paste("Distance from the centre", "\n" , "[\U003BCm]"))+
theme_bw(base_size=18)+
theme(plot.title = element_text(hjust = 0.5))+
labs(fill="signal/noise") +
scale_fill_manual(values =c(my_pal_quant_2[1],my_pal_quant_2[3], my_pal_quant_2[5], my_pal_quant_2[8]))+
guides(aesthetics = "fill", fill = guide_legend(reverse = TRUE, override.aes = list(shape = 21, size= 10)))
我认为在 scale_fill_manual 中按顺序引入中断并指定颜色会起作用,但正如您在图中看到的那样,较浅的颜色 (my_pal_quant_21) 它没有按我的意愿分配给 s_n_max 值的第一个区间 (s_n_max < 1).
我认为问题是我必须修复比例限制,但是如果我以这种方式在图表代码中指定限制
ggplot()+
geom_point(data=df_maxima, aes(x=t, y=distance_max, fill=cut(s_n_max, c(0,1,1.5,2,max(s_n_max)))), shape=21, col=my_pal_gray[5], stroke=0.01, size=3.5, alpha=1)+
xlab("Time [s]") +
ylab(paste("Distance from the centre", "\n" , "[\U003BCm]"))+
theme_bw(base_size=18)+
theme(plot.title = element_text(hjust = 0.5))+
labs(fill="signal/noise") +
scale_fill_manual(values =c(my_pal_quant_2[1],my_pal_quant_2[3], my_pal_quant_2[5], my_pal_quant_2[8]), limits=c(0,10))+
guides(aesthetics = "fill", fill = guide_legend(reverse = TRUE, override.aes = list(shape = 21, size= 10)))
结果如下图 2 所示 - 点的颜色填充已经消失,并且限制似乎已经覆盖了中断。
知道为什么会这样吗?我该如何解决?
这是我的数据的可重用(我希望)版本
> dput(df_maxima)
structure(list(t = c(4.034, 4.244, 8.068, 8.278, 12.102, 12.312,
16.136, 16.346, 20.17, 20.38, 24.204, 24.414, 28.238, 28.448,
32.272, 32.482, 36.306, 36.516, 40.34, 40.55, 44.374, 44.584,
48.408, 48.618, 52.441, 52.652, 56.476, 56.686, 60.51, 60.72,
64.544, 64.754, 68.578, 68.788, 72.611, 72.822, 76.645, 76.856,
80.68, 80.89, 84.714, 84.924, 88.748, 88.958, 92.781, 92.992,
96.816, 97.026, 98.175, 102, 102.21, 106.034, 106.244, 110.068,
110.278, 114.102, 114.312, 118.136, 118.346, 122.17, 122.38,
126.204, 126.414, 130.238, 130.448, 134.272, 134.482, 138.306,
138.516, 142.34, 142.55, 146.373, 146.584, 150.408, 150.618,
154.442, 154.652, 158.475, 158.686, 162.51, 162.72, 166.544,
166.754, 170.578, 170.788, 174.612, 174.821, 178.645, 178.856,
182.68, 182.89, 186.715, 186.924, 190.749, 190.958, 194.783,
194.993, 198.817, 199.027, 200.175, 204, 204.21, 208.032, 208.242,
212.067, 212.277, 216.102, 216.312, 220.135, 220.346, 224.17,
224.381, 228.205, 228.415, 232.239, 232.449, 236.273, 236.483,
240.307, 240.519, 244.344, 244.554, 248.378, 248.588, 252.411,
252.621, 256.447, 256.657, 260.48, 260.691, 264.515, 264.725,
268.55, 268.76, 272.584, 272.794, 276.618, 276.828, 280.653,
280.863, 284.687, 284.897, 288.721, 288.93, 292.754, 292.965,
296.789, 296.999), distance_max = c(49.706, 49.706, 77.321, 77.321,
99.412, 99.412, 121.504, 121.504, 138.073, 138.073, 154.641,
154.641, 160.164, 165.687, 176.733, 176.733, 182.256, 182.256,
198.825, 198.825, 204.348, 204.348, 209.871, 209.871, 220.916,
220.916, 226.439, 226.439, 231.962, 231.962, 237.485, 237.485,
243.008, 243.008, 248.531, 248.531, 254.054, 254.054, 259.577,
259.577, 265.1, 265.1, 265.1, 265.1, 276.146, 276.146, 281.668,
281.668, 281.668, 287.191, 287.191, 292.714, 292.714, 298.237,
298.237, 298.237, 298.237, 303.76, 303.76, 303.76, 303.76, 309.283,
309.283, 314.806, 314.806, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 314.806, 314.806, 314.806,
314.806, 314.806, 314.806, 314.806, 314.806, 314.806, 314.806,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 320.329, 320.329,
320.329, 320.329, 320.329, 320.329, 320.329, 325.852, 325.852,
331.375, 325.852, 331.375, 331.375, 331.375, 331.375, 331.375,
331.375, 336.898, 336.898, 336.898, 336.898, 336.898, 336.898,
336.898, 336.898, 336.898, 336.898, 336.898, 336.898, 331.375,
331.375, 331.375, 331.375, 325.852, 325.852, 325.852, 325.852,
325.852, 325.852), intesity_max = c(1979.92230381636, 2008.56166900881,
2248.52723179505, 2255.79451634931, 2330.32234953711, 2327.88378516362,
2348.8343415127, 2348.14680159507, 2309.77579065898, 2307.12423239007,
2277.66403763103, 2276.1881433748, 2226.63189556725, 2223.04612992737,
2187.44521152477, 2185.01854317659, 2113.40419145911, 2106.95311432289,
2019.47872850255, 2014.75513931461, 1970.8748703856, 1967.29978877911,
1892.83180486698, 1884.08321387381, 1860.28811848347, 1855.7989916887,
1819.68600120569, 1815.31483959351, 1752.25959566801, 1748.94651654063,
1707.44631517983, 1701.81874724901, 1672.31610178508, 1675.07262830824,
1629.35577737165, 1622.95594527249, 1594.73271800544, 1592.26365342627,
1565.15450424085, 1564.02814029807, 1529.45736225544, 1526.40298637471,
1485.87646781073, 1482.32587007202, 1452.38332379034, 1454.36364601585,
1432.32690458437, 1433.58090017712, 1416.20657028369, 1381.5077909554,
1376.91061677601, 1364.03626066873, 1363.38629589693, 1359.20369261903,
1361.42177642401, 1356.84766849606, 1355.1820901064, 1348.4887820217,
1346.09076725648, 1323.16977340783, 1322.27276997107, 1306.4789364913,
1304.89078683714, 1292.06132553484, 1291.47612962683, 1274.77496623058,
1276.04234959366, 1271.43272691217, 1272.45637976839, 1264.41961088779,
1262.66261404286, 1258.4304721833, 1257.08637663008, 1129.51935239079,
1129.91981422936, 1122.72850546887, 1125.52847921021, 1114.91002191344,
1112.57041678153, 1102.87212456803, 1103.0139141179, 1092.39671914476,
1094.48738639713, 1090.77518264334, 1092.24215670475, 1092.36185428102,
1094.1466007486, 1095.52481154781, 1096.7799517286, 1098.72028552569,
1100.37722731199, 1100.14404983392, 1101.74967173289, 1098.72888304895,
1101.63529496167, 1104.32279375354, 1106.09416482097, 1105.30981381202,
1105.60346635643, 1112.34119682095, 1094.0590377904, 1096.12380055849,
1094.31126456126, 1099.43669810833, 1109.82141151297, 1113.74550644555,
1115.34987618966, 1118.59469793335, 1118.50411722512, 1121.03542726029,
1113.02090147212, 1116.55315296217, 1116.52649565333, 1119.77567158107,
1124.9297007421, 1128.98942805628, 1132.57644869893, 1138.45514326464,
1140.14078719406, 1143.18950233488, 1150.2064714797, 1154.24855514644,
1158.30088658969, 1162.97171227054, 1163.47885128066, 1168.31102965649,
1169.73067354679, 1174.56368305098, 1174.84712548331, 1178.56944753478,
1173.96461080875, 1178.97433433504, 1180.86639684943, 1185.49285459939,
1195.04680018485, 1199.61087517408, 1206.40514550419, 1208.54362602938,
1213.46993848896, 1218.17568229377, 1226.01745918658, 1228.82153926183,
1233.72771711532, 1239.65120994883, 1240.98800664377, 1243.6691625855,
1244.91314782737, 1250.80863046917), s_n_max = c(2.25144148537218,
2.26962887230276, 2.38871589544491, 2.38922391175673, 2.51289889125301,
2.5170179020928, 2.5412726374042, 2.53956231724249, 2.58344241539977,
2.57916599135521, 2.42254325331079, 2.42816796633502, 2.37220684712286,
2.40814651195294, 2.38006310500208, 2.37934846653566, 2.31890961006215,
2.31608616128134, 2.26693619609292, 2.25612224153314, 2.0931881891597,
2.09778079349956, 2.04645183980855, 2.03330490556759, 2.07703705705985,
2.07014084276515, 2.00439268600544, 2.0013108262749, 1.93265951204332,
1.93027690765212, 1.85367117349408, 1.84744199845415, 1.80213581085882,
1.80267095818825, 1.79820713290254, 1.7910497892261, 1.73323861178584,
1.72934330125006, 1.66232486917941, 1.66103765430581, 1.62892610676827,
1.62460389580007, 1.58359519743233, 1.57663763185811, 1.59280956262804,
1.59605224692903, 1.57513185505005, 1.57092109979469, 1.55201236893203,
1.48736244804815, 1.48206570585183, 1.47833613438516, 1.4805189393531,
1.49764205481733, 1.50533350109248, 1.49439604443481, 1.49045472310451,
1.48702165261742, 1.48054230720796, 1.45413011763978, 1.45208336219909,
1.43340417360416, 1.42969476117652, 1.4165296294318, 1.41088732655332,
1.40026099710555, 1.39815883895423, 1.38917223571977, 1.39194103868671,
1.37472546455223, 1.37955200329312, 1.36530070337863, 1.35742463825747,
1.30031621280637, 1.30070123872516, 1.27445331707465, 1.2742742097163,
1.24602906139047, 1.24817213460883, 1.22416583200257, 1.22489897712777,
1.20550590696318, 1.20201181567261, 1.2273211640213, 1.22959755767437,
1.22098561833547, 1.22306831038143, 1.2155481359841, 1.22077186429451,
1.21416022186004, 1.21403825487672, 1.20445566473816, 1.20763840494796,
1.19876531490627, 1.20279973453789, 1.20202981062653, 1.19847842971369,
1.20046173375287, 1.19790682341363, 1.20114073410853, 1.18165803031087,
1.1815533546873, 1.1803104555859, 1.18732518285618, 1.19454698002281,
1.20073805437238, 1.20215081816326, 1.20169452668347, 1.201164773576,
1.20537821528183, 1.20414555027744, 1.2082695928816, 1.20539379029823,
1.20846070398292, 1.21463967864487, 1.22005674610479, 1.22609538571136,
1.23340567583566, 1.22406225441233, 1.23818075625747, 1.23378181088266,
1.23695367736438, 1.24586694689738, 1.2453508392526, 1.25057586814617,
1.25490794009328, 1.24031510917234, 1.24841997032498, 1.25355962979258,
1.25341734386246, 1.24963712427607, 1.25490871831107, 1.2587833687635,
1.26083720278796, 1.27207911317142, 1.27470951063669, 1.28279376500857,
1.2863610194323, 1.29661211997708, 1.31037230050035, 1.30495528634301,
1.30987283392375, 1.33848020532095, 1.3395424299679, 1.34220559786466,
1.34734031085204, 1.34717399611496, 1.35035801558689)), .Names = c("t",
"distance_max", "intesity_max", "s_n_max"), row.names = c(NA,
-148L), class = "data.frame")
>
这里一个可能的解决方案是在 ggplot2
之外生成 4 个组,并在 scale_fill_manual
函数的 breaks
参数中传递它们的级别:
library(dplyr)
DF <- df_maxima %>%
mutate(Group = cut(s_n_max, breaks = c(0,1,1.5,2, Inf), include.lowest = TRUE))
library(ggplot2)
ggplot(DF,
aes(x = t, y = distance_max,
fill = Group))+
geom_point(color = my_pal_quant_2[5], stroke = 0.01, shape = 21, size = 3.5, alpha = 1)+
scale_fill_manual(breaks = levels(DF$Group), drop = FALSE,
values = my_pal_quant_2[c(1,3,5,8)])+
guides(fill = guide_legend(reverse = TRUE))
它是否符合您的功能?