Я пытаюсь отобразить некоторые данные, где мне нужно не только отображать точку с помощью geom_point
, но и проследить за ней линию от оси. Я решил, что могу сделать это с geom_segment
, но вместо этого хочу отобразить последовательность дискретных точек.ggplot display geom_segment как последовательность точек
Скажем, у меня есть данные, как это:
df2 <- data_frame(x = c("a", "b", "c" ,"d"), y = c(3:6))
# A tibble: 4 × 2
x y
<chr> <int>
1 a 3
2 b 4
3 c 5
4 d 6
То, что я хочу получить, как на графике ниже, только имея точку в каждом из 4-х переменных между 0 и их значение (с искомых точек, отмеченных вручную красным цветом):
ggplot(df2, aes(x=x)) + geom_point(aes(y=y)) + geom_point(aes(y=0))
Вариации на тему: 'библиотека (dplyr); df2%>% group_by (x)%>% do (data.frame (y = 0 :.$ y))%>% mutate (c = y% in% range (y))%>% ggplot (aes (x, y, color = c)) + geom_point (show.legend = FALSE) + scale_colour_manual (значения = c ('red', 'black')) ' – alistaire
или в базе' ggplot (do.call (rbind, lapply (apply (df2, 1, function (r) {data.frame (x = r [1], y = 0: r [2])}), функция (d) {cbind (d, c = d $ y% в% range (d $ y))})), aes (x, y, color = c)) + geom_point (show.legend = FALSE) + scale_colour_manual (значения = c ('red', 'black')) ' – alistaire