Если M является матрицей, то

plot_ly(z = M) %>% add_surface()

Строит график поверхности этой матрицы. Это означает, что строки и столбцы являются значениями x и y, а значение z является элементом в матрице.

Однако оси x и y помечены как целые числа, соответствующие строкам и столбцам M. Далее, оси просто называются «х» и «у» буквально на графике.

Но это не то, что я хочу. Матрица M была сгенерирована с использованием outer(A, B, someFunction), где A, B - векторы. Поэтому я хочу, чтобы на оси отображались значения A и B, и я хочу, чтобы на метках оси было указано "A", "B", а не "x", "y".

Как мне это сделать?

1
saei 13 Фев 2020 в 17:55

2 ответа

Лучший ответ

Вы должны установить A и B в x и y:

library(plotly)

A <- B <- seq(-5, 5, by = 0.2)
z <- outer(A, B, function(x,y) exp(-x^2-y^2))

plot_ly(x = A, y = B, z = z) %>% add_surface() %>%
  layout(scene = list(xaxis = list(title = "A"), yaxis = list(title = "B")))
0
Stéphane Laurent 13 Фев 2020 в 15:48

Их можно найти здесь: https://plot.ly/r/figure-labels/

library(plotly)
library(tidyverse)

M <- 
  matrix(c(1, 2, 3, 1), ncol = 2, nrow = 2)

plot_ly(z = M) %>% 
  add_surface() %>% 
  layout(scene = list(xaxis = list(title = "A"), yaxis = list(title = "B")))
0
cardinal40 13 Фев 2020 в 15:16