R中的“ Thermal Bar”情节?

时间:2019-06-18 04:29:20

标签: r ggplot2

我想创建一个带有单个竖线(连续上色)的图,上面带有一个标记,用于显示特定人的得分。图片:

Thermal barplot

我可以在ggplot中生成彩色条,但只能作为图例(而不是实际图)。例如,以下所示的图例就可以了:

ggplot(mtcars, aes(x=wt, y=mpg, color=mpg)) + 
geom_point() +
scale_color_gradientn(colors = rainbow(5))

有没有办法做到这一点?任何帮助将不胜感激-我完全坚持这一点。

1 个答案:

答案 0 :(得分:1)

ggplot(data.frame(y = 51), aes( y=y)) + 
  geom_tile(data = data.frame(y = 0:100),
            aes(x= 0.5, y = y, fill = y)) +
  geom_segment(aes(x=0, xend=1, yend=y)) +
  geom_text(aes(label = y, x = 1), hjust = -0.3) +
  coord_cartesian(clip = "off", xlim = c(0,1.2)) +
  scale_fill_gradientn(colors = rainbow(5)) +
  scale_x_continuous(labels = NULL) +
  guides(fill = FALSE) +
  theme_minimal() +
  theme(line = element_blank()) +
  labs(x="", y = "")

enter image description here