【问题标题】:dc.js charts not linkeddc.js 图表未链接
【发布时间】:2014-02-18 07:29:47
【问题描述】:

除了.brushOn 选项外,我有两个完全相同的barCharts

pnlPerDaybarChart
    .height(300)
    .width(700)
    .dimension(dims.date)
    .group(groups.date.pnlSum)
    .valueAccessor(function(d) {
        return Math.abs(d.value);
    })
    .renderTitle(false)
    .x(d3.time.scale().domain([minDate,maxDate]))
    .xUnits(d3.time.days)
    .colors(colorChoice)
    .colorAccessor(colorAccessorPosNeg)
    .brushOn(false)
    .elasticY(true)
    .margins({left: 70 ,top: 10, bottom: 30, right: 50})
    .centerBar(true);

pnlPerDaybarChartBrush
    .height(100)
    .width(700)
    .dimension(dims.date)
    .group(groups.date.pnlSum)
    .valueAccessor(function(d) {
        return Math.abs(d.value);
    })
    .renderTitle(false)
    .x(d3.time.scale().domain([minDate,maxDate]))
    .xUnits(d3.time.days)
    .colors(colorChoice)
    .colorAccessor(colorAccessorPosNeg)
    .brushOn(true)
    .elasticY(true)
    .margins({left: 70 ,top: 10, bottom: 30, right: 50})
    .centerBar(true);

它们以我期望的方式呈现,但是当我在pnlPerDaybarChartBrush 上使用画笔时,dc.js 不会更新另一个。

此外,单击pnlPerDaybarChart 中的条不会修改pnlPerDaybarChartBrush 呈现(或网页上的任何其他图表)。

这是预期的行为吗?

我期待的是:

  • 当我点击图表中的某一天而不刷它时 自动呈现包含特定日期数据的所有图表。
  • 当我使用画笔时,它也会在没有画笔的情况下呈现过滤后的图表

这里是jsFiddle

【问题讨论】:

  • 你能提供一个小提琴吗?
  • 用小提琴更新了我的问题
  • @Chapo - 两个图表都相同。如果您进行选择,将会有如此变化。你在看范围图吗?从某种意义上说,您是否尝试在此 link 中使用类似面积图的图表
  • @UnknownUser 非常感谢。 .rangeChart 正是我想要的。这回答了我的第二点。但是第一个呢?当我在没有刷子的情况下单击图表时,它不会过滤其他图表。
  • 它不会过滤。因为您使用第二个图表作为第一个图表的选择点。

标签: d3.js bar-chart dc.js


【解决方案1】:

默认情况下,dc.js 条形图似乎不支持点击过滤。画笔功能应该是您过滤条形图或折线图的方式(但正如您所发现的,它有其自身的复杂性)。

如果您的数据太密集而无法使用画笔精确过滤,一种选择是允许用户通过鼠标或触摸事件放大范围图:
http://jsfiddle.net/r4YBS/4/

唯一的变化是添加

    .mouseZoomable(true);

在可刷条形图定义的末尾。

您也可以实现自定义点击监听器,然后直接调用.filter() 方法。

【讨论】:

  • 对,点击过滤是ordinal条形图的刷亮行为。
【解决方案2】:

Fiddle 满足您的要求。

你当然是对的。

.rangeChart 是您需要使用它的属性。

希望对你有帮助。

【讨论】:

  • 感谢您的回答。这是问题的一部分。请参阅更新的jsFiddle。我希望能够单击顶部barChart 中的一个栏,这将更新pieChart。有什么想法吗?
  • 你有 5Y 的时间历史。你想要一个特定的日子。您将使用画笔粗略过滤,然后选择您感兴趣的一天。为什么没有意义?
  • 抱歉,我只是看不出堆积条形图对我有什么帮助。我将示例简化为只有 5 个类别,但还有更多类别,因此堆积条形图基本上不可读。另外,在 1500 个观察值中选择一个而不进行缩放超出了我的能力。
猜你喜欢
  • 2015-12-13
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多