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, ничего не скомпилировано) в качестве основы для ваш собственный динамический график, который позволит перетаскивать строку.