0
히트 맵을 작성하기 위해 dplyr 및 ggplot을 사용하고 있습니다. (필자는 과거에 유용한 -likert- 패키지를 사용했지만 더 많은 사용자 정의를 원했습니다.) 나머지 한 가지 작업은 히트 맵의 행을 한 열씩 다시 정렬하는 것입니다.히트 맵에서 행 정렬 (ggplot geom_tile)
아래의 단순화 된 예제에서 "A lot"열이 높은 곳에서 낮은 곳으로 내려갈 수 있도록 행을 배열하는 방법은 무엇입니까? 저기, 캠핑 열이 맨 위에 있고 수영이 밑에 있겠 어? 실생활에는 22 개의 행이 있으므로 수동으로 정렬하지 않으려합니다.
도움 주셔서 감사합니다. 값 열 유사
# not shown: use dplyr (gather, count, mutate) to create
# the following simplified data.frame in long format:
df <- tibble(
value = c("A little","A little","A lot","A lot","Don't know","Don't know", "Not at all","Not at all"),
Item = rep(c("Swimming","Camping"), 4),
percent = c(10, 14, 50, 83, 20, .25, 10, 3)
)
df
# manually set column order (non-alphabetical)
col_order <- c("Not at all", "A little", "A lot", "Don't know")
df$value <- factor(df$value, levels = col_order)
# plot results
p <- ggplot(df, aes(x = value,
y = Item)) +
geom_tile(aes(fill = percent)) +
geom_text(aes(label = paste0(round(percent, 0), sep = "%")),
size = 4, colour = "black") +
scale_fill_gradient(low = "#e5ebf0",
high = "#325f87",
limits = c(0, 100)) +
xlab("") +
ylab("") +
theme_tufte() # + additional customization
print(p)
당신을 감사합니다! 나는 "수준 ="측면에서 놀고 있었지만, 아직 거기에서 얻지 못했습니다. – Daniel