Я могу построить очень базовые c графики в R, но я пытаюсь сделать свою тепловую карту более профессиональной, и я не уверен, как это сделать. У меня есть фрейм данных df
11 наблюдений 11 переменных:
> dput(df)
structure(list(`0` = c(6.08, 7.91, 5.14, 2.23, 0.72, 0.19, 0.04,
0.01, 0, 0, 0), `1` = c(9.12, 11.86, 7.71, 3.34, 1.09, 0.28,
0.06, 0.01, 0, 0, 0), `2` = c(6.84, 8.89, 5.78, 2.5, 0.81, 0.21,
0.05, 0.01, 0, 0, 0), `3` = c(3.42, 4.45, 2.89, 1.25, 0.41, 0.11,
0.02, 0, 0, 0, 0), `4` = c(1.28, 1.67, 1.08, 0.47, 0.15, 0.04,
0.01, 0, 0, 0, 0), `5` = c(0.38, 0.5, 0.33, 0.14, 0.05, 0.01,
0, 0, 0, 0, 0), `6` = c(0.1, 0.13, 0.08, 0.04, 0.01, 0, 0, 0,
0, 0, 0), `7` = c(0.02, 0.03, 0.02, 0.01, 0, 0, 0, 0, 0, 0, 0
), `8` = c(0, 0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0), `9` = c(0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0), `10+` = c(0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0)), row.names = c("0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "10+"), class = "data.frame")
Итак, я преобразовываю df
в матрицу, чтобы получить тепловую карту:
heatmap(data.matrix(df), Rowv=NA, Colv=NA, col = heat.colors(256), scale="column", margins=c(5,10))
Это то, что сюжет выглядит так:
введите описание изображения здесь
Я не знаю, как:
- Изменить расположение клавиш для строки и столбцов. Я хочу, чтобы они оба начинались с 0 в верхнем левом углу, а строка и столбец продолжали возрастать до 10 +
- . Я также хотел бы большей детализации в цвете. Прямо сейчас вы не можете определить разницу в значениях, глядя на цвет ...
Является ли heatmap
из базы R даже правильной библиотекой для этого? Я просмотрел несколько примеров и не был уверен, есть ли лучшая библиотека для достижения того, что я хочу.