Я столкнулся с этим вопросом, в котором был действительно классный график. Меня интересуют графики слева с прямоугольными точками во времени.

Эти прямоугольные точки не являются частью набора точек R по умолчанию для команды geom_point (). Хотя я могу воспроизвести график (или хотя бы один очень похожий), я не знаю, как заставить точки так выглядеть.

Как я могу этого добиться?

enter image description here

2
G_T 19 Фев 2016 в 04:44

3 ответа

Лучший ответ

Мне кажется, что на целевом участке просто geom_tile, а не geom_point.

require("ggplot2")

ggplot(iris) + geom_tile(aes(x = Sepal.Length, y = Sepal.Width, 
                             fill = Petal.Length), color = "white") + 
  facet_grid(Species ~ .) + 
  scale_fill_gradient(low = "red3", high = "blue4")

enter image description here

4
inscaven 19 Фев 2016 в 06:51

Хотя это не совсем то, что вам нужно, вы можете изменить формы построения с помощью scale_shape_manual() т.е.

d <- ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species, shape = Species))
d <- d + geom_point()
d + scale_shape_manual(values = c(15, 15, 15))

enter image description here

1
aeongrail 19 Фев 2016 в 02:06

Вы должны иметь возможность сделать это с помощью geom_rect:

library(ggplot2)
df <- data.frame(x = c(1,2,3), y = c(1,2,1), type = c("a","b","c"))
ggplot(df) +
  geom_rect(aes(xmin = x, ymin = y, xmax = x + 0.3, ymax = y + 0.6, fill = type))
1
Mist 19 Фев 2016 в 04:13