0

我正在使用geom_tile创建热图。我想通过突出显示符合特定条件的单元格来自定义热图。具体来说,我希望将任何值小于 10 的单元格设置为较低的透明度。10 以上的一切都应该是alpha=1. 我试图用 来应用这个条件alpha=ifelse(spinrate >= 10, 1, 0.5),但它似乎alpha没有像我期望的那样被解释。

可重现的例子:

spinrates <- read.csv("https://raw.githubusercontent.com/plotly/datasets/master/spinrates.csv", stringsAsFactors = FALSE)

ggplot(aes(x=velocity, y=spinrate, fill=swing_miss, label=swing_miss, alpha=ifelse(swing_miss >= 10, 1, .3)), data=spinrates) +
 geom_tile(show.legend = F) +
  geom_text(size=2.25, show.legend = F) +
  scale_fill_distiller(palette = "RdYlGn", direction = 1)

geom_tile

4

1 回答 1

0
ggplot(aes(x=velocity, y=spinrate, fill=swing_miss, label=swing_miss, alpha = swing_miss), 
       data=spinrates) +
  geom_tile(show.legend = F) +
  geom_text(size=2.25, show.legend = F) + 
  scale_fill_distiller(palette = "RdYlGn", direction = 1)+
  scale_alpha_continuous(ifelse(spinrates$swing_miss>=10, 1,0.5))
于 2021-10-07T01:35:14.110 回答