ggvis'te çalışmak için etkileşimli yakınlaştırma yapmaya çalışıyorum, özellikle bir fırça kullanarak yakınlaştırma. https://github.com/rstudio/ggvis/issues/143 dan bakılırsa bunun işe yarayacağını düşündüm.ggvis ile çalışmak için etkileşimli yakınlaştırma alamıyorum
Aşağıdaki parlak ve ggvis kod (tamamen yeniden üretilebilir) da X alanını değiştiren en kısa sürede bir fırça çekildikçe, reaktif etki değiştirilir Yani
## ui.R
library(ggvis)
shinyUI(fluidRow(
uiOutput('ui_plot1'),
ggvisOutput("graph_plot1")
))
## server.R
shinyServer(function(input, output, session) {
domains <- reactiveValues(x = c(NA, NA), y = c(NA, NA))
zoom_brush = function(items, session, page_loc, plot_loc, ...) {
domains$x = c(200, 400)
}
plot = reactive({
mtcars %>%
ggvis(~disp, ~mpg) %>%
layer_points() %>%
scale_numeric('x', domain = domains$x, clamp = TRUE) %>%
handle_brush(zoom_brush)
}) %>% bind_shiny('graph_plot1', 'ui_plot1')
})
, scale_numeric
. yine de aşağıdaki zorlukları varsa: zoom_brush
İçinde
- Ben fırça koordinatlarını almak, ancak piksel etki alanı koordinat sistemi değil komplo koordinat sistemi. Pikselleri alan ölçeğine nasıl çevirebilirim? D3'te, dönüş fonksiyonlarını ölçeklendirmek için aralığı kullanabilirim ancak bunların ggvis'te (vega ile) nasıl olduğunu göremiyorum.
- Handle_brush işlevi yalnızca
on_move
olay işleyicisinin ayarlanmasını destekler. Bu durumda, sadece fırça bittiğinde zumu tetiklemek istiyorum, bu nedenle fırça bağlamında onmouseup olayı. Korkarım ki bu şu anda mümkün değil mi? - Yalnızca kelepçe = DOĞRU ayarlandığında, etkili bir yakınlaştırma elde ederim. Aksi halde, alanın dışa vurduğu noktalar hala gösterilir ve sadece eksenler yeni alana ayarlanır. Bunun için kolay bir düzeltme var mı? Veya veri kümesini reaktif hale getirmeli ve fırça tarafından ayarlanmış alana dayanmalı mıyım?
Aşağıdaki R sürümünü ve paket sürümlerini çalıştırıyorum. ggvis
henüz ölçek puan üzerinden görmezden kadar zeki görünmüyor:
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggvis_0.4.1 shiny_0.12.0
loaded via a namespace (and not attached):
[1] DBI_0.3.1 R6_2.0.1 Rcpp_0.11.6 assertthat_0.1 digest_0.6.8 dplyr_0.4.1 htmltools_0.2.6 httpuv_1.3.2
[9] jsonlite_0.9.16 lazyeval_0.1.10 magrittr_1.5 mime_0.3 parallel_3.1.1 tools_3.1.1 xtable_1.7-4
sen http://shiny.rstudio.com/gallery/plot-interaction-zoom.html (ggvis' belki [Bu örnekte] 'güvenmek gerekmiyorsa) çalışır? – JasonAizkalns
@jason Geri bildiriminiz için teşekkür ederiz. Bu seçeneğin farkındayım ve bu soru özellikle ggvis'i hedefliyor. –