Мне нужно создать тепловую карту с помощью plotly, которая показывает больше информации

#r #dplyr #plotly #heatmap #ggplotly

#r #dplyr #plotly #тепловая карта #ggplotly

Вопрос:

Я хотел бы иметь возможность создать тепловую карту R plotly, которая в дополнение к отображению информации о z, у меня будет больше информации, которая будет текстовой информацией.

Вот что я имею в виду: у меня есть этот набор данных dataset:

 library(plotly)
m <- matrix(c(NA, 1,3, 2, NA, 4, 3, 0, NA), nrow = 3, ncol = 3)

fig <- plot_ly(
    x = c("Epilepsy", "PTSD", "Depression"), y = c("Dizziness", "Slowed Thinking/ Decision-making
", "Hearing/Noise Sensitivity
"),
    z = m, type = "heatmap"
)
 

Это дает мне такой результат: Это тепловая карта Plotly

Однако мне нужно что-то еще, когда я нажимаю на каждую часть, у меня тоже есть эта переменная:

 p <- matrix(c(NA, "XX","YY", "TT", NA, "ST", "PO", "IU", NA), nrow = 3, ncol = 3)
 

Как вы можете видеть, это не числовое значение, и оно просто предоставляет больше информации об ассоциации.

Ответ №1:

Вы можете добавить свою матрицу p к text атрибуту, т.е.

 fig <- plot_ly(
  x = x, 
  y = y,
  z = m, 
  type = "heatmap",
  text = p
)
 

полный код

 library(plotly)
m <- matrix(c(NA, 1,3, 2, NA, 4, 3, 0, NA), nrow = 3, ncol = 3)
p <- matrix(c(NA, "XX","YY", "TT", NA, "ST", "PO", "IU", NA), nrow = 3, ncol = 3)

fig <- plot_ly(
  x = x, 
  y = y,
  z = m, 
  type = "heatmap",
  text = p
)
fig
 

введите описание изображения здесь