Я пытаюсь понять, почему plotly
объекты, которые преобразуются из ggplot2
объектов с помощью функции ggplotly
не динамически изменять масштаб сетки при использовании plotly-х функции масштабирования на HTML виджета.ggplotly созданный объект не динамически изменять линии сетки при увеличении
Я бы хотел найти решение этого вопроса без необходимости перекодировать все участки как родные plotly
объектов.
Я что-то упустил, или может быть, что эта функция просто не поддерживается в пакете plotly
?
Ниже приведен пример, иллюстрирующий проблему (перед выполнением, необходимо установить переменную your.path
в директории, которую вы хотите, чтобы htmlwidget быть сохранены в):
library(ggplot2)
library(plotly)
library(htmlwidgets)
ggp <- ggplot(data=mtcars, aes(x=hp, y=mpg)) + geom_point() + theme_bw()
ply.ggp <- ggplotly(ggp)
saveWidget(ply.ggp, paste(your.path, "mtcarsGGPLOT.html", sep=""))
На этой HTML виджету, когда вы увеличиваете in, шкала сетки остается статической (например, линии сетки x на 100, 200, 300 являются единственными, которые вы видите, даже если вы увеличиваете масштаб. Нет новых линий сетки, например, на 25, 50, 75 и т. д.)
Сравните это с виджетами при создании графика непосредственно в сюжете с помощью этого образца кода:
ply <- plot_ly(data=mtcars, x=mtcars$hp, y=mtcars$mpg)
saveWidget(ply, paste(your.path, "mtcarsNATIVE.html", sep=""))
Здесь, когда вы увеличиваете область участка, видна новая динамическая сетка.
EDIT: Может быть, что наблюдение происходит за счет htmlwidgets
пакета, а не plotly
или ggplot2
. Но опять же, почему бы плотный графический рисунок правильно отображался при использовании htmlwidgets, в то время как преобразованный ggplot не ...?
Вау, самый простой ответ чаще всего является правильным. Спасибо, что поделился! –