更改行和列标签热图 plot_ly R
Change row and column labels heatmap plot_ly R
所以我正在使用 plot_ly 构建热图,并希望行和列标签是我的数据矩阵 (a) 中的行和列名称。我尝试了以下代码,但它仍然不会更改标签:
vals <- unique(scales::rescale(c(a)))
o <- order(vals, decreasing = FALSE)
cols <- scales::col_numeric("Blues", domain = NULL)(vals)
colz <- setNames(data.frame(vals[o], cols[o]), NULL)
plot_ly(z = a, colorscale=colz,type = "heatmap") %>%
layout(xaxis = list(colnames(a)), yaxis = list(rownames(a)))
布局部分好像没有更新x轴和y轴?
我附上了一张我当前看到的视图的图片。
我想要的行名称是;
"BILL_AMT1" "BILL_AMT2" "BILL_AMT5"
"ID" "LIMIT_BAL" "PAY_0"
"PAY_2" "PAY_3" "PAY_4"
"PAY_5" "PAY_6" "PAY_AMT2"
"PAY_AMT4" "PAY_AMT6" "SEX"
"EDUCATION" "MARRIAGE" "AGE"
"BILL_AMT3" "BILL_AMT4" "BILL_AMT6"
"PAY_AMT1" "PAY_AMT3" "PAY_AMT5"
"avg_bill_amt" "avg_pay_amt" "Bill_pay_diff1"
"Bill_pay_diff2" "Bill_pay_diff3" "Bill_pay_diff4"
"Bill_pay_diff5" "Bill_pay_diff_prop_limit"
列名是;
"UnalteredTree" "CreatedFields" "CreatedSMOTE50.50" "CreatedSMOTE60.40" "CreatedSMOTE70.30"
dput(头(a)):
结构(c(0, 0, 0, 18.1134012050694, 3.29561403508772, 0, 16.8737510298348,
111.988517072994, 238.103575444644, 93.8902946420699, 0, 0, 17.2492245114282,
126.35593664339, 836.870398039609, 476.448288146105, 85.084473204874,
134.652264684817, 50.7197832427989, 70.9693694071751, 593.541951819008,
406.736392972063, 98.0032746143464, 104.028924545005, 37.1605151856135,
93.5877347492431, 409.663438436698, 137.4329664773, 56.9190963166505,
61.7152642490207), .Dim = c(6L, 5L), .Dimnames = list(c("BILL_AMT1",
"BILL_AMT2", "BILL_AMT5", "ID", "LIMIT_BAL", "PAY_0"), c("UnalteredTree",
"CreatedFields"、"CreatedSMOTE50.50"、"CreatedSMOTE60.40"、"CreatedSMOTE70.30"
)))
只需为 x
和 y
参数提供适当的参考即可:
library(plotly)
set.seed(1)
m <- matrix(rnorm(9), nrow = 3, ncol = 3)
dimnames(m) <- list(rownames(m, FALSE, "r"),
colnames(m, FALSE, "c"))
plot_ly(
x = colnames(m), y = rownames(m),
z = m, type = "heatmap"
)
所以我正在使用 plot_ly 构建热图,并希望行和列标签是我的数据矩阵 (a) 中的行和列名称。我尝试了以下代码,但它仍然不会更改标签:
vals <- unique(scales::rescale(c(a)))
o <- order(vals, decreasing = FALSE)
cols <- scales::col_numeric("Blues", domain = NULL)(vals)
colz <- setNames(data.frame(vals[o], cols[o]), NULL)
plot_ly(z = a, colorscale=colz,type = "heatmap") %>%
layout(xaxis = list(colnames(a)), yaxis = list(rownames(a)))
布局部分好像没有更新x轴和y轴?
我附上了一张我当前看到的视图的图片。
"BILL_AMT1" "BILL_AMT2" "BILL_AMT5"
"ID" "LIMIT_BAL" "PAY_0"
"PAY_2" "PAY_3" "PAY_4"
"PAY_5" "PAY_6" "PAY_AMT2"
"PAY_AMT4" "PAY_AMT6" "SEX"
"EDUCATION" "MARRIAGE" "AGE"
"BILL_AMT3" "BILL_AMT4" "BILL_AMT6"
"PAY_AMT1" "PAY_AMT3" "PAY_AMT5"
"avg_bill_amt" "avg_pay_amt" "Bill_pay_diff1"
"Bill_pay_diff2" "Bill_pay_diff3" "Bill_pay_diff4"
"Bill_pay_diff5" "Bill_pay_diff_prop_limit"
列名是;
"UnalteredTree" "CreatedFields" "CreatedSMOTE50.50" "CreatedSMOTE60.40" "CreatedSMOTE70.30"
dput(头(a)):
结构(c(0, 0, 0, 18.1134012050694, 3.29561403508772, 0, 16.8737510298348, 111.988517072994, 238.103575444644, 93.8902946420699, 0, 0, 17.2492245114282, 126.35593664339, 836.870398039609, 476.448288146105, 85.084473204874, 134.652264684817, 50.7197832427989, 70.9693694071751, 593.541951819008, 406.736392972063, 98.0032746143464, 104.028924545005, 37.1605151856135, 93.5877347492431, 409.663438436698, 137.4329664773, 56.9190963166505, 61.7152642490207), .Dim = c(6L, 5L), .Dimnames = list(c("BILL_AMT1", "BILL_AMT2", "BILL_AMT5", "ID", "LIMIT_BAL", "PAY_0"), c("UnalteredTree", "CreatedFields"、"CreatedSMOTE50.50"、"CreatedSMOTE60.40"、"CreatedSMOTE70.30" )))
只需为 x
和 y
参数提供适当的参考即可:
library(plotly)
set.seed(1)
m <- matrix(rnorm(9), nrow = 3, ncol = 3)
dimnames(m) <- list(rownames(m, FALSE, "r"),
colnames(m, FALSE, "c"))
plot_ly(
x = colnames(m), y = rownames(m),
z = m, type = "heatmap"
)