gpt4 book ai didi

r - 向 rChart(酒窝)散点图添加线条

转载 作者:行者123 更新时间:2023-12-04 11:26:26 24 4
gpt4 key购买 nike

我想将水平线添加到由 rCharts 在预定义的 y 值上创建的 dimple.js 中的散点图。

library(rCharts)

df <- data.frame(a = rnorm(10), b = rnorm(10))

d1 <- dPlot(b~a,
data = df,
type = "bubble"
)

d1

我尝试添加:

d1$layer(y= 0, copy_layer=T, type='line', color=list(const='red'))

但这会返回消息:

Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : ‘layer’ is not a valid field or method name for reference class “Dimple”

还有其他方法可以在图中获得水平线吗?

最佳答案

很好的问题,我很高兴你提出这个问题。 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

关于r - 向 rChart(酒窝)散点图添加线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23386012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com