R интерактивный сюжет?
Как пользователь может интерактивно изменить один аспект (например, ориентацию или длину линии) на 2D-графике?
Ответы
Ответ 1
Пакет rpanel работал у меня.
library(rpanel)
lvm.draw <- function(panel) {
x=0:20
plot(x, panel$int + (panel$slo*x), ylim=panel$data, ylab="y", main="Adam Super Duper Interactive Graph", typ="l", lwd=3, col="red")
grid()
panel
}
ylimdat<-c(-50,50)
panel <- rp.control(title = "Adam Panel", data=ylimdat, slo=0.5, int=1.0, size=c(300, 160))
rp.slider(panel, var=slo, from=-5, to=5, action=lvm.draw, title="Slope", pos=c(5, 5, 290, 70), showvalue=TRUE)
rp.slider(panel, var=int, from=-50, to=50, action=lvm.draw, title="Intercept", pos=c(5, 70, 290, 90), showvalue=TRUE)
Ответ 2
latticist и playwith предлагают интерактивная функциональность для R-статистических графиков.
Для изменения конкретных деталей вы можете сохранить график в формате SVG и отредактировать его в inkscape.
Ответ 3
Функция tkexamp в пакете TeachingDemos помогает создать график с элементами управления для изменения различных параметров в графике, на странице справки можно просмотреть несколько примеров, которые можно запустить, чтобы увидеть, как это работает.
Функция TkIdentify в том же пакете позволяет перетаскивать метки (вместе с линиями, указывающими из точек на метки) в нужную позицию, вы можете начать с кода из этой функции (все R, ничего не скомпилировано) в качестве основы для ваш собственный динамический график, который позволит перетаскивать строку.