【问题标题】:Create NVD3 Semicircle Donut using rCharts使用 rCharts 创建 NVD3 半圆甜甜圈
【发布时间】:2023-03-14 23:06:01
【问题描述】:

我正在尝试使用rChartsNVD3 javascript 库创建一个简单的半圆形甜甜圈。下面提供了一个完整的甜甜圈的最小可重现示例。

library(rCharts)
data1 <- data.frame(label=c("A","B","C"), value=c("1000","2000","3000"))
n1 <- nPlot(value~label, data = data1, type = "pieChart")
n1$chart(donut=TRUE)
n1

当我尝试指定 NVD3 文档中 here 提供的 startAngleendAngle 选项时,我的问题出现了,以便将此甜甜圈转换为半圆形甜甜圈。

# This gives me a blank Viewer pane
n1$chart(donut=TRUE,
         startAngle="#!function(d){return d.startAngle/2-Math.PI/2;}!#",
         endAngle="#!function(d){return d.endAngle/2-Math.PI/2;}!#")
n1

查看来自this 问题的代码,似乎将startAngleendAngle 传递给n1$params$chart 可能不是正确的方法,尽管这是我所期望的,基于以下事实donut=TRUE 有效。

我的一个回调函数也可能有不正确的语法 - 根据我的经验,这类问题可能会导致整个可视化崩溃。但是,我相当肯定我使用了与 NVD3 文档中提供的完全相同的回调函数。

【问题讨论】:

  • 注意:尝试将growOnHover 选项添加到n1$charts 也会以类似的方式破坏可视化。
  • 试试 HighCharts 吧!
  • 昨天刚刚尝试过,使用 highcharts 在 5 分钟内启动并运行!

标签: r nvd3.js rcharts donut-chart


【解决方案1】:

rCharts 库不允许您按原样执行此操作。我对它进行了分叉并对其进行了修改以包含最新的 nvd3 JavaScript,并添加了通过 R 中的 .$pie 函数向 chart.pie 添加参数的可能性。

您可以在此处获取 rCharts 分叉:https://github.com/clecocel/rCharts

基于 rCharts 的快速入门的最小示例:

p5 <- nPlot(~ cyl, data = mtcars, type = 'pieChart')
p5

您会看到growOnHover 选项现在默认激活。

您现在可以使用以下方法制作半个甜甜圈:

p5$chart(donut=T)
p5$pie(startAngle="#!function(d){return d.startAngle/2-Math.PI/2;}!#",
       endAngle="#!function(d){return d.endAngle/2-Math.PI/2;}!#"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多