ggplot 扩展图例颜色条

K.H*_*Hua 4 r legend heatmap ggplot2

我正在尝试在 ggplot 上制作热图。我有一个类似于下面的数据框

wday    hour    quant
Mon 0   1.2346944
Tue 0   0.8418860
Wed 0   0.8904375
Thu 0   0.8906767
Fri 0   1.0761553
Sat 0   2.1095617
Sun 0   2.1421696
Mon 1   2.9178615
Tue 1   0.7481875
Wed 1   0.6200556
Thu 1   0.5530000
Fri 1   0.3852611
Sat 1   0.4791192
Sun 1   1.0958043
Mon 2   2.8627222
Tue 2   0.7989769
Wed 2   0.4209105
Thu 2   0.6512810
Fri 2   0.5047176
Sat 2   0.6544059
Sun 2   0.8167846
Run Code Online (Sandbox Code Playgroud)

我的代码是:

ggplot(df , aes(x = hour, y = wday)) +
  geom_raster(aes(fill = quant), interpolate=TRUE) +
  scale_fill_distiller(palette = "Spectral") + 
  theme(legend.position = "bottom")
Run Code Online (Sandbox Code Playgroud)

它呈现这样的图形:

在此处输入图片说明

可以看到图例的颜色条确实缩小了,如何将图例水平延伸使其变宽?

Jul*_*ora 15

legend.key.width是你想要的。例如,

ggplot(df , aes(x = hour, y = wday)) +
  geom_raster(aes(fill = quant), interpolate = TRUE) +
  scale_fill_distiller(palette = "Spectral") + 
  theme(legend.position = "bottom", legend.key.width = unit(2.5, "cm"))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明