#r #ggplot2 #plotly #heatmap #data-manipulation
#r #ggplot2 #графически #тепловая карта #манипулирование данными
Вопрос:
Мне нужна тепловая карта с:
- «Нет» красным цветом
- «Да» выделено зеленым цветом.
- Город по оси x
- Спорт по оси y
library(ggplot2)
df = data.frame(City= c(Boston, Caracas, Madrid, Tokio),
Val = c(Yes, No, No, Yes),
Sport = c("Soccer","Soccer","Soccer","Soccer"))
Комментарии:
1. Попробуйте
ggplot(df, aes(x = City, y = Sport, fill = Val)) geom_tile()
Ответ №1:
В вашем примере есть только один вид спорта, поэтому он не создает отличную тепловую карту. Вот расширенный пример, чтобы дать лучшее представление об эстетике:
library(ggplot2)
set.seed(69)
df <- data.frame(City= rep(c("Boston", "Caracas", "Madrid", "Tokio"), 4),
Val = sample(c("Yes", "No"), 16, TRUE),
Sport = rep(c("Soccer","Hockey", "Tennis", "Darts"), each = 4))
ggplot(df, aes(City, Sport, fill = Val))
geom_tile(color = "#00000022")
scale_fill_manual(values = c("red", "forestgreen"))
coord_equal()
theme_bw()
labs(fill = "Sport popular?")
Создано 2020-10-23 пакетом reprex (версия 0.3.0)