programing

ggplot2 범례를 맨 아래와 수평으로

lastmoon 2023. 6. 11. 11:11
반응형

ggplot2 범례를 맨 아래와 수평으로

이동 방법ggplot2그림의 아래쪽에 있는 범례를 가로로 돌리시겠습니까?

샘플 코드:

library(reshape2) # for melt
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend())

원하는(대략) 결과: 여기에 이미지 설명 입력

범례의 위치를 이동하려면 다음 코드를 사용하십시오.

library(reshape2) # for melt
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend()) +
    theme(legend.position="bottom")

이렇게 하면 원하는 결과를 얻을 수 있습니다. 아래쪽 범례

원하는 결과를 생성하는 방법은 다음과 같습니다.

library(reshape2); library(tidyverse)
melt(outer(1:4, 1:4), varnames = c("X1", "X2")) %>%
ggplot() + 
  geom_tile(aes(X1, X2, fill = value)) + 
  scale_fill_continuous(guide = guide_legend()) +
  theme(legend.position="bottom",
        legend.spacing.x = unit(0, 'cm'))+
  guides(fill = guide_legend(label.position = "bottom"))

reprex 패키지(v0.3.0)에 의해 2019-12-07에 생성되었습니다.


편집: 이러한 불완전한 옵션은 더 이상 필요하지 않습니다. 하지만 참고를 위해 여기에 두겠습니다.

당신이 원하는 것을 정확히 제공하지는 않지만, 꽤 가까운 두 가지 불완전한 옵션(최소한 색상을 함께 제공할 것입니다).

library(reshape2); library(tidyverse)
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend()) +
 theme(legend.position="bottom", legend.direction="vertical")

p1 + scale_fill_continuous(guide = "colorbar") + theme(legend.position="bottom")

reprex 패키지(v0.2.1)에 의해 2019-02-28에 생성되었습니다.

언급URL : https://stackoverflow.com/questions/10032513/ggplot2-legend-to-bottom-and-horizontal

반응형