#r #plotly
#r #плоская
Вопрос:
Я взял простой пример тепловой карты plotly и попытался изменить горизонтальные и вертикальные метки результирующей тепловой карты.
plot_ly(
x = c("aaaaaaaaaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbbbbbbbbbb", "ccccccccccccccccccccccccc"),
y = c("rrrrrrrrrrrrrrrrrrrrrrrrrrr", "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu", "fffffffffffffffffffffffffffffffff"),
z = m, type = "heatmap") %>%
layout(yaxis = list(autorange = "reversed"))
Но вертикальные метки кажутся очень неструктурированными, чего я ожидаю. Сверху у меня должно быть r, затем u и f. Вместо этого у меня есть u, r, f. Что я делаю не так?
Как я могу сохранить порядок для строк и столбцов таким же, как я определил в x и y.
Ответ №1:
Вы могли бы использовать autorange = "reversed"
:
library(plotly)
plot_ly(
x = c("a", "b", "c"), y = c("r", "u", "f"),
z = m, type = "heatmap") %>%
layout(yaxis = list(autorange = "reversed"))
Что дает:
Комментарии:
1. Когда я использую это для своего решения, где у меня довольно длинные метки x и y, noRows = noCols = 7, это не работает… Это странно.
2. @martinkabe Пожалуйста, предоставьте воспроизводимый пример вашей ситуации, чтобы я мог изучить его (в идеале
dput()
, ваши данные)3. Что за версию пакета вы используете? Я почти уверен, что это проблема с самой новой, поскольку она не работает и для меня.
4. @Jimbou Скорее всего, я не обновился до последней версии, поскольку это потребовало бы от меня пересмотра множества ранее созданных графиков, входящих в состав сложных панелей мониторинга. Я все еще использую
v3.6.0
. Я думаю, может быть, вам или оператору следует открыть проблему?5. Я использую версию plotly_4.5.2. Теперь я использую d3heatmap, и он работает нормально. Но даже d3heatmap не является хорошей идеей в ioslides_presentation — карта d3heatmap видна на предыдущем слайде… Похоже, у нас есть две проблемы…