아주 좋은 질문입니다. 이 기능은 this pull request과 함께 추가됩니다. 지금은 require(devtools); install_github("rCharts","timelyportfolio",ref="dimple_layer")
으로 테스트 할 수 있습니다. 거의 제대로 작동하도록 예제가 수정되었습니다. 또한 몇 가지 고려 사항을 추가했습니다. 나는 아직도 the dimple aggregation working correctly in rCharts을 얻으려고 노력하고있다. 완벽한 해결책이 아닙니다.
library(rCharts)
df <- data.frame(id = 1:10, a = rnorm(10), b = rnorm(10))
d1 <- dPlot(b~a,
groups = "a",
data = df,
type = "bubble"
,defaultColors = "#!['blue']!#"
)
d1$xAxis(type="addMeasureAxis")
d1$yAxis(type="addMeasureAxis",overrideMin = -2, overrideMax = 2)
d1
d1$layer(
y ~ x
,groups = c("x","y")
,data = data.frame(x = c(1,10), y = rep(0,2))
,type="line"
)
d1
지금 다루는 더 좋은 방법은 afterScript
을 사용하여 맨 위에 선을 그릴 수 있습니다. 보시다시피 이것은 분명히 진행중인 작업이며 너무 해킹 된 것입니다.
library(rCharts)
df <- data.frame(id = 1:10, a = rnorm(10), b = rnorm(10))
d1 <- dPlot(b~a,
groups = "a",
data = df,
type = "bubble"
,defaultColors = "#!['blue']!#"
)
d1$xAxis(type="addMeasureAxis")
d1$yAxis(type="addMeasureAxis",overrideMin = -2, overrideMax = 2)
d1
d1$setTemplate(
afterScript = sprintf(
'
<script>
var line = d3.svg.line()
.x(function(d) { return myChart.axes[0]._draw.scale()(d.x); })
.y(function(d) { return myChart.axes[1]._draw.scale()(d.y); });
d3.select("#%s svg g")
.append("path")
.datum([{x:myChart.axes[0]._min,y:0},{x:myChart.axes[0]._max,y:0}])
.attr("d",line)
.style("stroke","blue")
.style("stroke-width",3)
</script>
'
,d1$params$dom
))
d1
감사합니다. 이 수평선이 수평축을 대체하기위한 것이라면 한계를 -2 : 2로 설정하면 더 잘 작동합니다 :'.datum ([{x : -2, y : 0}, {x : 2, y : 0}])'. '_max'가 무엇을 가리키는 지 모르지만 설정시 rhs 축 한계에 미치지 않습니다. – PatrickT