Я опубликовал это как проблему на Github две недели назад.Поскольку, очевидно, можно репостить вопрос «, если сопровождающие проекта не ответят в разумные сроки », я опубликую этот вопрос здесь.
Я хотел бы создать маленькие кратные с фиксированным соотношением сторон .Однако только некоторые графики сохраняют правильное соотношение сторон.Из того, что я понял, установка фиксированного соотношения сторон с помощью plotly выполняется следующим образом: layout(yaxis = list(scaleanchor = "x"))
.Рассмотрим следующий пример:
library(purrr)
library(plotly)
df <- data.frame(
x = rep(1:5,25),
y = rep(1:5,25),
g = sort(rep(1:25,5))
)
plots <- df %>%
split(.$g) %>%
map(function(x){
plot_ly(data = x, x = ~x, y = ~y, type = "scatter",mode = "lines") %>% add_lines()
})
small_multiples <- subplot(plots,nrows = 5) %>%
layout(yaxis = list(scaleanchor = "x")) %>%
hide_legend()
Если я строю график small_multiples
, только первый график (строка 1, столбец 1) имеет соотношение сторон 1. Другие имеют произвольное соотношение сторон. Вот ссылка на интерактивную версию этого графика: https://plot.ly/~rata_zhaw/1/
Интересно, что если я выберу опцию shareX = T
в subplot()
, весь первый столбец будет иметьправильное соотношение сторон.Ничего не изменится, если я выберу shareY = T
И вот ссылка на интерактивную версию второго сюжета: https://plot.ly/~rata_zhaw/3/
Если я строю любой изНа графиках индивидуально соотношение сторон правильное:
plots[[10]] %>%
layout(yaxis = list(scaleanchor = "x")) %>%
hide_legend()