R语言 使用Plotly创建带数值行名的热图

ua4mk5z4  于 2023-06-27  发布在  其他
关注(0)|答案(2)|浏览(108)

我目前正在处理一个数据集,其中的行名都是数值而不是字符。
通常在Plotly中,从这样的数据集创建一个基本的热图是非常简单的,下面的例子是:

data <- as.matrix(mtcars)

plotly::plot_ly(x = colnames(data), y = rownames(data), z = data, type = "heatmap")

然而,我似乎遇到了问题**,因为**我的数据集的行名是数值。对于如何解决这个问题有什么建议吗?
下面是我的数据集的reprex:

set.seed(051939)
df <- data.frame(loci = sample(1000:5000, size = 50, replace = TRUE), a = runif(50), b = runif(50))
df <- tibble::column_to_rownames(df, "loci")
data <- as.matrix(df)
wkftcu5l

wkftcu5l1#

那这个呢
plot_ly(x = colnames(data), y = rownames(as.character(data)), z = data, type = "heatmap") %>% plotly::layout(p, yaxis = list(title = "loci", ticktext = sample(1000:5000, size = 50, replace = TRUE), tickvals = 1:50))

6pp0gazn

6pp0gazn2#

感谢@Viktor Horvath找到解决方案。

plot_ly(x = colnames(data), y = rownames(data), z = data, type = "heatmap", mode = "markers") %>% plotly::layout(yaxis = list(title = "loci", type = "category))

相关问题