Como escrever um texto no mapa de calor plotado em r?
Olá eu faço um mapa de calor complotly
. O código é:
plot_ly(z = ~df$MonetaryClass,
x = ~df$RecencyClass,
y = ~df$FrequencyClass,
type = "heatmap") %>%
colorbar(title = 'Monetary Class',
limits = c(1,5),
tickmode = 'array',
tickvals = c(1,2,3,4,5)) %>%
layout(title = "RFM Analyse",
xaxis = list(title = 'Recency Class',
tickmode = 'array',
tickvals = c(1, 2,3,4,5),
ticktext = c(1, 2, 3, 4, 5)
),
yaxis = list(title = 'Frequency Class',
tickmode = 'array',
tickvals = c(1, 2,3,4,5),
ticktext = c(1, 2, 3, 4, 5)
)
)
Aqui está uma amostra de 100 do meu quadro de dados e as informações dedput()
:
structure(list(RecencyClass = c(3, 4, 4, 3, 4, 4, 1, 4, 3, 4,
4, 2, 1, 3, 5, 5, 2, 1, 4, 1, 3, 1, 4, 2, 2, 1, 4, 5, 2, 4, 5,
1, 1, 1, 3, 3, 3, 4, 1, 3, 1, 3, 1, 3, 2, 5, 2, 1, 4, 1, 5, 2,
4, 4, 2, 2, 5, 3, 1, 3, 3, 5, 2, 2, 4, 4, 2, 2, 5, 2, 2, 2, 5,
3, 2, 1, 1, 2, 5, 2, 1, 1, 2, 1, 4, 2, 3, 2, 2, 1, 1, 2, 2, 4,
5, 3, 5, 5, 5, 5), FrequencyClass = c(4, 5, 1, 3, 5, 5, 3, 1,
5, 3, 1, 3, 4, 1, 3, 2, 1, 2, 5, 1, 1, 4, 3, 2, 3, 1, 4, 4, 2,
4, 4, 5, 1, 1, 3, 4, 4, 3, 2, 4, 1, 2, 1, 2, 1, 4, 1, 1, 2, 1,
3, 1, 3, 2, 2, 4, 2, 5, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 5, 2, 1,
4, 5, 1, 1, 3, 1, 1, 5, 4, 4, 2, 5, 1, 4, 1, 5, 2, 1, 1, 1, 3,
5, 5, 4, 4, 4, 3, 4, 2), MonetaryClass = c(5, 5, 3, 4, 5, 3,
1, 2, 3, 3, 1, 2, 3, 1, 4, 3, 2, 3, 5, 2, 1, 4, 1, 3, 2, 3, 5,
5, 3, 3, 4, 5, 1, 1, 3, 3, 5, 2, 2, 4, 4, 3, 1, 2, 1, 3, 1, 1,
2, 4, 3, 1, 2, 4, 2, 5, 1, 5, 1, 1, 1, 3, 3, 2, 1, 5, 2, 4, 5,
2, 1, 4, 2, 1, 3, 5, 2, 1, 5, 5, 5, 2, 4, 1, 5, 1, 5, 1, 4, 1,
2, 1, 1, 5, 3, 5, 2, 2, 4, 3)), .Names = c("RecencyClass", "FrequencyClass",
"MonetaryClass"), row.names = c(24908L, 34164L, 27970L, 23648L,
35944L, 35581L, 7825L, 27857L, 26043L, 31093L, 27026L, 13607L,
8689L, 18196L, 39464L, 37304L, 9820L, 6867L, 35361L, 4767L, 18345L,
8840L, 29486L, 11414L, 13718L, 60L, 31892L, 41103L, 13347L, 33299L,
41563L, 8950L, 16L, 568L, 21384L, 25256L, 24005L, 30861L, 6025L,
25098L, 5800L, 20559L, 2362L, 20797L, 11256L, 40490L, 9163L,
3282L, 29174L, 5965L, 38331L, 11068L, 31018L, 28535L, 11793L,
16171L, 37278L, 25937L, 5976L, 19566L, 18754L, 37055L, 11249L,
13414L, 27966L, 31049L, 11150L, 15701L, 42887L, 11334L, 10880L,
16532L, 44559L, 18162L, 9545L, 7810L, 3715L, 10128L, 42163L,
16488L, 8926L, 6416L, 17789L, 4352L, 32966L, 10045L, 26614L,
12601L, 10906L, 3122L, 4696L, 15936L, 18048L, 34864L, 41047L,
24615L, 41413L, 39479L, 40317L, 37389L), class = "data.frame")
Se parece com isso:
Como você pode ver, tenho 25 caixas para entender minha matriz. É possível escrever um texto auto-escolhido em todas as caixas? Por exemplo, na caixa "1" Frequency e "1" Recency, a azul-preta no canto inferior esquerdo, algo como "Eu gosto de cerveja". Ou em "5" e "5", o amarelo no canto superior direito, algo como "Eu gosto do CSGO". Eu tentei comtext
mas isso não funciona para mim.