2015-07-16 10 views
9

Gibt es eine Zoomfunktion in nvd3, die ich direkt in meinen R-Quellcode eingeben kann (egal, ob JavaScript erforderlich ist, solange ich den nvd3-Quellcode nicht ändern muss)? Ich habe versucht, die ZeileWithFocusChart, aber das nur zoomt entlang der X-Achse, während ich idealerweise eine Box um den Zoombereich zeichnen möchte und es wird zoomen, wo ich die Box gezeichnet. Auch wenn das nicht möglich ist, wenn nvd3 jede Art von 2D-Zoom unterstützt, wäre das großartig! Ich habe ein reproduzierbares Beispiel von dem, was ich bisher habe, zur Verfügung gestellt, aber ich habe noch kein Merkmal für den Zoom gefunden, nach dem ich suche. Vielen Dank!Rcharts nvd3 2-D-Zoom möglich?

 library(rCharts) 
     temp <- data.frame(x = 1:100, y = 1:100, z = c(rep(1,50), rep(0,50))) 
     g <- nPlot(y ~ x, group = "z", data = temp, type = "lineChart") 
     g$templates$script <- "http://timelyportfolio.github.io/rCharts_nvd3_templates/chartWithTitle_styled.html" 
     g$set(title = "Example") 
     g$chart(transitionDuration = -1, 
       tooltipContent = "#! function(key, x, y) { 
            return 'z: ' + key + '<br/>' + 'x: ' + x + '<br/>' + 'y: ' + y 
            }!#", 
       showLegend = FALSE, margin = list(left = 200, 
               right = 100, 
               bottom = 100, 
               top = 100))    
     g$xAxis(axisLabel = "x") 
     g$yAxis(axisLabel = "y", width = 40) 
     g 

Antwort

1

könnten Sie verwenden Highcharts mit der zoomType Option.

Zum Beispiel:

require(rCharts) 

names(iris) = gsub("\\.", "", names(iris)) 
g<-hPlot(SepalLength ~ SepalWidth, data = iris, color = 'Species', type = 'line') 
g$chart(zoomType = 'xy') 
g 

Sie können dann ziehen und auf dem Grundstück halten in einem Bereich zu vergrößern.

+0

Ich habe früher schon Highcharts benutzt, musste aber umstellen, da es keine kommerzielle Nutzung erlaubt. Die zweitbeste Option, die ich gefunden habe, war nvd3 in rCharts, also hoffe ich, eine ähnliche Zoom-Fähigkeit in nvd3 zu finden. – johnny838