如何从ggplot线图中标记最小点

时间:2016-01-25 03:40:42

标签: r ggplot2

使用以下代码:

library(ggplot2)

dat <- structure(list(specificty_thres = c(0, 0.1, 0.2, 0.3, 0.4, 0.5,
0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1,
0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4,
0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0,
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3,
0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9), nofgenes = c(24922L, 9316L, 5469L, 3617L, 2494L,
1726L, 1168L, 746L, 395L, 153L, 24922L, 8149L, 4894L, 3353L,
2418L, 1735L, 1200L, 785L, 441L, 176L, 24922L, 8901L, 6201L,
4598L, 3513L, 2611L, 1804L, 1208L, 705L, 289L, 24922L, 6510L,
3895L, 2768L, 2022L, 1505L, 1101L, 778L, 505L, 237L, 24922L,
6043L, 3423L, 2288L, 1556L, 1096L, 676L, 379L, 202L, 57L, 24922L,
5369L, 3099L, 2092L, 1452L, 1015L, 619L, 355L, 170L, 55L, 24922L,
6325L, 3566L, 2388L, 1650L, 1175L, 726L, 410L, 223L, 74L, 24922L,
6043L, 3423L, 2288L, 1556L, 1096L, 676L, 379L, 202L, 57L, 24922L,
6034L, 3411L, 2284L, 1550L, 1095L, 677L, 377L, 202L, 57L, 24922L,
6044L, 3424L, 2289L, 1557L, 1096L, 676L, 378L, 202L, 57L), cond_num = c(6.979543898,
5.209460407, 3.441605343, 2.845323443, 2.474230723, 2.254962743,
2.443672143, 2.523444955, 3.862524838, 6.088185305, 5.297407723,
3.569259742, 2.483456789, 2.117625873, 1.910720118, 1.7564495,
1.604552706, 1.641371117, 1.567610627, 1.972566428, 2.174335394,
1.720078549, 1.53343324, 1.399410561, 1.332672172, 1.257769764,
1.158490505, 1.108311616, 1.192401563, 1.297696811, 16.4716104,
12.4350557, 8.87593204, 8.331413728, 7.883501296, 7.867130099,
8.279622657, 8.407209551, 7.937619307, 7.292978464, 33.18486542,
15.08819897, 11.43592258, 9.132900518, 8.044996695, 7.611933822,
6.954725501, 9.61313694, 38.49659879, 147.8338961, 31.74640962,
13.47198798, 10.10938458, 8.163299376, 7.407022839, 6.821719134,
5.901512791, 8.596451907, 35.18126362, 316.342978, 33.29021718,
15.4070554, 11.50114445, 9.658122291, 9.256844049, 8.813161588,
8.615527934, 11.81483087, 51.37535003, 153.1706669, 33.18486542,
15.08819897, 11.43592258, 9.132900518, 8.044996695, 7.611933822,
6.954725501, 9.61313694, 38.49659879, 147.8338961, 32.75763823,
15.02161422, 11.41762134, 9.151716862, 8.478576792, 7.637888373,
6.988733898, 9.618799609, 37.9869026, 147.6039397, 32.48436496,
14.97121985, 11.44111656, 9.167601169, 8.497112149, 7.652093613,
7.010919677, 9.613310668, 37.99831597, 147.7120821), sample = structure(c(5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L,
6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L), .Label = c("GSM1139390", "GSM1139391",
"GSM1139392", "GSM1332613", "GSM1711905", "GSM1711906", "GSM1711907",
"GSM700775", "GSM700776", "GSM973236"), class = "factor")), .Names = c("specificty_thres",
"nofgenes", "cond_num", "sample"), class = "data.frame", row.names = c(NA,
-100L))

ggplot(dat, aes(x=specificty_thres, y=cond_num, colour=sample)) +
    geom_line(size=1.25, alpha=0.85) +
    ylab("Condition Number") +
    xlab("Specificity Threshold") +
    scale_colour_brewer(palette = "Paired") +
    scale_y_log10()+
    theme(legend.title=element_blank())

我可以创建以下图表。

enter image description here

如上图所示。如何突出显示最低点 每条线都带有黑点,并且还显示坐标。

0 个答案:

没有答案