dc.js - 动态更改折线图中堆叠层的 valueAccessor 并重绘它

2024-03-07

我正在尝试实现一个仪表板来显示基本数据。

我实际上完全陷入了一个问题。奇怪的是,我在网上找不到任何类似的东西,所以我没有太多关于如何继续前进的线索。

我主要有两个图表:

  • a lineChart called "stackChart" that
    • 使用 valueAccessor 函数将消费显示为基础层
    • 将生产显示为堆叠层及其值访问器函数
  • 一个名为“volumeChart”的条形图,它只是折线图的范围图

我使用单选按钮来选择是按总和还是按平均值聚合分组数据(使用与此相同的方法)example http://dc-js.github.io/dc.js/examples/complex-reduce.html)然后我只使用:

stackChart.valueAccessor(/*function with new value (avg or sum)*/);
dc.redrawAll();

刷新基础层(消耗)。

我无法做到的是通过更新其 valueAccessor 来刷新“堆叠层”!我找不到任何方法来访问它的 valueAccessor (或者,最坏的情况,只是完全删除堆叠层,然后仅使用“.stack(...)”添加一个新的刷新的堆叠层)。

这是我的代码中构建图表的相应部分:

// Charts customization #js
        stackChart
            .renderArea(true)
            .height(350)
            .transitionDuration(1500)
            .dimension(dateDim)
            .group(powByTime, "Consumption")
            // BASE LAYER valueAccessor HERE
            .valueAccessor(function(d) { return d.value.conSum; })
            .x(d3.time.scale().domain([minDate, maxDate]))
            .xUnits(d3.time.days)
            .elasticY(true)
            .renderHorizontalGridLines(true)
            .legend(dc.legend().x(80).y(0).itemHeight(13).gap(5))
            .brushOn(false)
            // STACKED LAYER HERE
            .stack(powByTime, "Production", function(d) { return d.value.prodSum; })
            .rangeChart(volumeChart)
            .controlsUseVisibility(true)
        ;

这是我寻找单选按钮中的更改并重新绘制图层的地方:

// Listen for changes
d3.selectAll('#select-operation input')
    .on('click', function() {
        var aggrMode = this.value;  // fetch "avg" or "sum" from buttons
        // UPDATE BASE LAYER HERE:
        stackChart.valueAccessor(function(d) { var sel = accessors[aggrMode]['consPow']; return d.value[sel]; });
        // ???HOW TO UPDATE STACKED LAYER valueAccessor function???
        //stackChart.stack.valueAccessor(function(d) { var sel = accessors[aggrMode]['prodPow']; return d.value[sel]; });
        dc.redrawAll();
    });

如果您需要有关我正在尝试执行的操作的更多详细信息以及完整代码,您可以查看here https://stackoverflow.com/questions/41684874/dc-js-reduce-function-selected-from-radio-button.

As a reference, here is what it looks like: enter image description here


我不太了解 dc.js,但是一旦设置了访问器,您可能就无法更改它。尝试为您的访问器编写一个函数,该函数将返回总和或平均值,具体取决于您可以设置的某些变量的状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dc.js - 动态更改折线图中堆叠层的 valueAccessor 并重绘它 的相关文章

  • 如何在 Apex 中向 D3 力定向图添加动态图例?

    我在 Apex 中构建了一个 D3 力图 基本上就像http bl ocks org mbostock 1093130 http bl ocks org mbostock 1093130 or http bl ocks org mbosto
  • DC.js 到 React 的转换

    有 dc js 反应转换的示例吗 对折线图 表格和时间滑块 带画笔的条形图 感兴趣 任何帮助 将不胜感激 Thanks 这是将 DC js 转换为 React 的开始 使用的库的版本如下 package json dependencies
  • 在三角形内强制图表 d3.js

    我正在研究 d3 js 力图 我有一个问题 是否可以在具有某些坐标的三角形内制作力图 这是我的代码 var width 500 var height 500 margin var marginLeft 10 var marginTop 10
  • 将 D3 svg 保存为高质量图像

    有没有办法将 D3 SVG 图像保存为高质量图像 如果是的话请解释一下 截至目前 我正在使用以下代码将 svg 保存为图像 但我得到的图像质量不高 var canvas1 document createElement canvas canv
  • 更改一个 y 轴的范围 nvd3/d3

    我目前正在使用 multiChart 模型 并且有两个不同的 y 轴 我想更改两个轴 使它们从 0 开始 因为目前它们从最小的 y 数据点开始 我尝试过执行以下操作 chart yAxis1 tickFormat d3 format f d
  • 使用canvg将C3.js SVG可视化到Canvas - 折线图填充黑色矩形,“错误:元素'parsererror'尚未实现”

    我正在尝试使用 Canvg 将 SVG 转换为 Canvas 这里是jsfiddle http jsfiddle net sridev24 vcz468f9 我收到一条错误消息 错误 元素 parsererror 尚未实现 我可以理解 ca
  • d3.js:在树布局中展开多个路径

    My JSON contains same node names in different paths I would like to be able to open all children with the same name or h
  • 为什么这个标题图形不随世界更新

    对于以下内容 我很高兴组合框默认为世界 但当收音机被点击时 我也希望标题移回 世界 我该怎么做 我有这个笨蛋 http plnkr co edit 9FXJXVqLZLPFdDrmVJez p preview http plnkr co e
  • d3 (v4) 树布局和打字稿:类型“HierarchyNode”上不存在属性“x”

    我正在尝试在使用时使用正确的 ts 类型d3 hierarchy具有树布局的根 例如 interface MyCustomGraphType id string children MyCustomGraphType let treeData
  • D3:使用 d3-tile 缩放到边界框

    我已成功将 D3 矢量 地图分层到从 Mapbox 提取图块的 d3 tile 光栅 地图之上 手动缩放效果非常好 矢量和光栅都是同步的 我现在正在尝试实施迈克 博斯托克 缩放到边界框 https bl ocks org mbostock
  • 如何在 d3.scale.ordinal() 中指定域?

    var W 100 var H 200 var data v 4 v 8 v 15 v 16 v 23 v 42 var x d3 scale linear domain 0 max x range 0 W var y d3 scale o
  • 具有水平和垂直组合布局的可折叠树

    我正在尝试在 D3 中创建一个可折叠树 它结合了水平 第一级和第二级 和垂直 3 级 布局 这里有一个jsfiddle http jsfiddle net artemkolotilkin z7tb23Lo 到目前为止我所得到的 除了一件事之
  • d3 地理投影从正交到 X 的过渡

    我正在开发一个教育地图项目 其中显示不同的地图投影 我想在选择不同投影之间实现变形过渡 我找到了一个很好的例子来实现它 并且我没有遇到太多的麻烦来重新创建它 不幸的是 我还需要裁剪投影的功能 这与目标状态完美配合 但在改变投影时则不然 当选
  • 如何运行 D3 示例

    例如https observablehq com d3 zoomable treemap https observablehq com d3 zoomable treemap 如果将脚本片段粘贴到
  • 如何使用 D3 (或只是 javascript)将表单选项设置为“选择”

    有没有一种方法可以搜索选择表单元素中的所有选项 并将具有匹配值的选项指定为 已选择 var xStat G var statOptions Points PTS Goals G Assists A Penalty Minutes PIM c
  • 将任何 D3.js 图表与 DC.js 集成

    我试图弄清楚如何轻松地将任何 D3 js 图表与 DC js 库集成 以便在所有图表之间使用交叉过滤功能 我也确实理解以前曾问过这种性质的问题 添加链接以供参考 DC js 监听图表组渲染 https stackoverflow com q
  • 将文本放置在矩形的中心

    在下面的代码中 文本没有放置在矩形的中心 我使用的是 attr dx x bandwidth 2 attr dy y bandwidth 2 有没有办法将文本中心放置在矩形中 而不是反复试验 目前它看起来像这样 朝底部和朝右 以下是我的代码
  • 需要帮助绘制多元线之间的区域 - 而不是从轴到线

    我是 d3 js 的新手 我正在努力填充多元百分位数图中线条之间的区域 我不希望在最底线下方或最顶线上方填充任何区域 第一列始终位于图表的底部 第 5 个百分位 最后一列将始终位于图表的顶部 第 95 个百分位 我需要每条线之间单独的区域段
  • D3 向对象添加超链接?

    我正在尝试制作 D3 图 它将代表我网站的菜单 我尝试按照此处的其他指南添加超链接 但它们都不起作用 每个对象都会有一个不同的 URL 指向 主页 关于 联系方式等 如果添加超链接 我可以拖动对象吗 这意味着如果我按住单击 如果我单击该对象
  • d3.event.translate 在触摸设备的缩放上包含 NaN

    我使用 d3 为我的 svg 编写了一个自定义缩放函数 如下所示 Zoom behavior function myzoom xpos d3 event translate 0 ypos d3 event translate 1 vis a

随机推荐

  • C++ - 在 Visual Studio 2010 的属性表中使用环境变量

    我想建立一个使用 OpenCV 的项目 所以基本上 我必须使用 Visual Studio 2010 中的属性管理器添加一个新的属性表 基本上 我必须将路径添加到我的include and lib文件夹以使 OpenCV 正常运行 我想将我
  • 如何删除 HTML 节点之间的空白?

    我正在尝试从 HTML 片段中删除空格 p tags p p Foo Bar p p bar bar bar p p bla p 正如你所看到的 之间总是有一个空格 p p tags 问题是空白会产生 br 将字符串保存到我的数据库时的标签
  • Spark SQL“限制”

    环境 使用 Hadoop 的 Spark 1 6 Hortonworks 数据平台 2 5 我有一个包含 100 亿条记录的表 我想获取 3 亿条记录并将它们移到临时表中 sqlContext sql select from my tabl
  • 如何聚焦位于子组件中的输入字段

    我在父组件中有一个按钮 我想通过单击该按钮来聚焦位于子组件中的输入字段 我该怎么做 您可以利用refs达到结果 class Parent extends React Component handleClick gt this refs ch
  • Laravel 身份验证,我无法检索登录的用户

    Auth check 总是返回 false 这很奇怪 因为登录函数将我重定向到 redirectTo url 因此尝试成功 但之后我无法检索用户 我正在使用 Laravel 5 2 14 和 Xampp 我不知道还要写什么 因为它应该是开箱
  • Swing 桌面开发

    我有一个关于 java 桌面 GUI 应用程序的非常普遍的问题 我的经验 在过去的几年里 我开发了许多桌面应用程序 其中一些单独使用 Swing 一些使用 Spring RCP 这很棒 但我仍然不能只押注于一个已经超过 3 年没有更新的框架
  • 设备重新启动后,AVSampleDisplayBuffer 随机挂起

    问题描述 AVSampleBufferDisplayLayer 似乎在 iOS 12 3 1 上挂起 gt iOS 12 2 也受到影响 重启 看起来 5 分钟后一切又恢复正常了 该问题在 iOS 11 上无法重现 在我们的生产代码中 我们
  • 在 /usr/share/phpMyAdmin/libraries/Error.class.php 中找不到 phpMyAdmin 类“PMA_Message”

    我刚刚收到此错误 过去 2 年 phpMyAdmin 中没有错误 PHP 致命错误 在第 24 行 usr share phpMyAdmin libraries Error class php 中找不到类 PMA Message 我尝试搜索
  • 如何强制 ghc 的分析器更深入地了解库?

    我正在尝试分析我的程序 所以我编译它 prof and auto all标志并运行 P获取详细的分析报告 ghc make prof auto all Test hs Test RTS P 这是一份分析报告 COST CENTRE MODU
  • R 将 KS 测试逐行应用于 2 个矩阵

    我在 R 中有两个矩阵 A 和 B 行数相同 但列数不同 我想运行一个柯尔莫哥洛夫 斯米尔诺夫检验 https stat ethz ch R manual R devel library stats html ks test html每个矩
  • 在 PowerShell 中拆分不带分隔符的字符串

    我想分割一个字符串并将结果标记存储在变量中 例如我的字符串是160519 我想以一种方式分割它16 05 and 19存储在单独的变量中 我尝试使用 split 但是因为我的字符串没有分隔符 所以我发现很难剪切字符串 如果使用正则表达式 实
  • 从另一个表单添加到列表视图

    我想知道如何通过在 form2 中的文本框输入数据来更新 form1 中的列表视图 如果我将所有文本框放在同一个表单上 我的代码可以正常工作 我想我需要对第二个表格的一些参考 但无法让它工作 任何能让我朝着正确方向前进的建议都会很好 也有任
  • RegisterStartupScript 似乎无法在更新面板内进行页面回发

    好的 所以我正在开发一个使用自定义日期选择器控件的系统 我知道还有其他控件 但为了保持一致性 我想了解为什么我当前的问题发生并修复它 所以它是一个带有文本框的自定义用户控件 在 Page PreRender 上执行以下操作 protecte
  • 在asp.net core rc2应用程序的ActionFilterAttribute中访问IConfiguration [重复]

    这个问题在这里已经有答案了 我正在编写将验证验证码的属性 为了正常工作 它需要知道秘密 我将其保留在设置中 秘密管理器工具 但是我不知道如何从属性类读取配置 asp net core中的DI支持构造函数注入 不支持属性注入 所以这会报编译错
  • 将图像从浏览器保存到手机图库

    因此 纯粹从安全角度来看 这似乎不太可能 但我需要做好基础工作 有没有人遇到过将浏览器中的图像保存到用户图库的方法 在本例中 我专门谈论来自站点服务的 javascript 不是音位间隙 虽然我知道您可以点击并按住图像进行保存 但我希望为技
  • 帮助小商店在“乔尔测试”中获得更高分数的工具

    关于问题 1 至问题 4乔尔测试 http www joelonsoftware com articles fog0000000043 html我认为都是关于正在使用的开发工具和为开发人员提供的支持系统 您使用源代码管理吗 你能一步完成构建
  • 如果您按住 Ctrl 键单击或按住 Rt 键单击通知图标,如何获得不同的上下文菜单?

    我有一个基于系统托盘的应用程序 如果您右键单击它 我有一个很好的上下文菜单 但是如果您左键单击它 我希望显示一个不同的上下文菜单 现在我让不同的菜单显示出来 private void niTrayIcon MouseClick object
  • 如何使这个 SwingWorker 代码可测试

    考虑这段代码 public void actionPerformed ActionEvent e setEnabled false new SwingWorker
  • 角度.net core api cors预检请求错误

    我无法使 cors 工作 Angular net core 2 1 我收到此错误 访问 XMLHttpRequest 位于 https dev SaveAPP https dev SaveAPP 从原点 https 页面 https pag
  • dc.js - 动态更改折线图中堆叠层的 valueAccessor 并重绘它

    我正在尝试实现一个仪表板来显示基本数据 我实际上完全陷入了一个问题 奇怪的是 我在网上找不到任何类似的东西 所以我没有太多关于如何继续前进的线索 我主要有两个图表 a lineChart called stackChart that 使用