Javascript DC js复合图表工具提示

Javascript DC js复合图表工具提示,javascript,d3.js,tooltip,dc.js,Javascript,D3.js,Tooltip,Dc.js,我用dc和crossfilter js绘制了多个链接在一起的图表。 最后一个图表是一个复合图表(条形图和线条图),我无法在上面正确获得工具提示 目前,以工具提示的形式显示:在[object object]期间,P1[object object] (期间和P1是我的尺寸) 我的代码: //Composite chart to show 2 metrics chart4 .width(990) // (optional) define chart width, :default =

我用dc和crossfilter js绘制了多个链接在一起的图表。 最后一个图表是一个复合图表(条形图和线条图),我无法在上面正确获得工具提示

目前,以工具提示的形式显示:在[object object]期间,P1[object object]

(期间和P1是我的尺寸)

我的代码:

//Composite chart to show 2 metrics
    chart4
    .width(990) // (optional) define chart width, :default = 200
    .height(200) // (optional) define chart height, :default = 200
    .transitionDuration(500) // (optional) define chart transition duration, :default = 500
    // (optional) define margins
    .margins({top: 10, right: 50, bottom: 30, left: 40})
    .dimension(dateDimension) // set dimension
    .group(rechfreqGroup) // set group
    // (optional) whether chart should rescale y axis to fit data, :default = false
    .elasticY(true)
    // (optional) when elasticY is on whether padding should be applied to y axis domain, :default=0
    .yAxisPadding(100)
    // (optional) whether chart should rescale x axis to fit data, :default = false
    //.elasticX(true)
    // (optional) when elasticX is on whether padding should be applied to x axis domain, :default=0
    .xAxisPadding(500)
    // define x scale
    .x(d3.scale.ordinal())
    .xUnits(dc.units.ordinal)
    // (optional) render horizontal grid lines, :default=false
    .renderHorizontalGridLines(true)
    // (optional) render vertical grid lines, :default=false
    .renderVerticalGridLines(true)
    // compose sub charts, currently composite chart only supports line chart & bar chart
    ._rangeBandPadding(1) //workaround to fix visual stuff (dc js issues)
    .compose([

        dc.barChart(chart4).group(rechrevGroup).gap(2).centerBar(true).valueAccessor(function (p) {
        return p.value.count > 0 ? p.value.rechtotal / p.value.count : 0;
        }),
        // you can even include stacked bar chart or line chart in a composite chart
        dc.lineChart(chart4).group(rechfreqGroup).useRightYAxis(true).colors('#000000').valueAccessor(function (p) {
        return p.value.count > 0 ? p.value.rechfreq / p.value.count : 0;
        })
    ])
    // (optional) whether this chart should generate user interactive brush to allow range
    // selection, :default=true.
    .brushOn(true);
我错过了什么?我应该在这里使用d3.tip来解决这些问题吗?
非常感谢任何方法/反馈

每当您的还原创建对象而不是直接值时,您需要指定一个
.title
函数,以使内置工具提示正常工作

这是因为默认的title函数只打印键和值

:

实际上,它更聪明一点:

var _title = function (d) {
    return _chart.keyAccessor()(d) + ': ' + _chart.valueAccessor()(d);
};


请注意,默认情况下,标题从复合图表向下共享到子图表(取决于)。这里需要考虑的是,函数在父表中定义,因此如果共享了标题,函数将使用父代码的<代码>密钥访问器< /C>和<代码> ValueAccess OR/代码>,这就是为什么子对象上的
valueAccessor
s无效的原因。

每当还原创建对象而不是直接值时,都需要指定
.title
函数,以使内置工具提示正常工作

这是因为默认的title函数只打印键和值

:

实际上,它更聪明一点:

var _title = function (d) {
    return _chart.keyAccessor()(d) + ': ' + _chart.valueAccessor()(d);
};


请注意,默认情况下,标题从复合图表向下共享到子图表(取决于)。这里需要考虑的是,函数在父表中定义,因此如果共享了标题,函数将使用父代码的<代码>密钥访问器< /C>和ValueAccess O/C> >,这就是为什么您的<代码> ValueAccess OR/代码> s对孩子没有影响。功能在条形图和折线图中,但工具提示仍然没有显示。代码段:.title(函数(d){return d.key+“:“+d.value.rechtotal;})。请让我知道我做错了什么againI以为你之前说它展示了错误的东西。现在它根本没有显示?我忘了注意到
.title
必须在
.compose
之前指定(耶)。和往常一样,如果您认为title函数产生了错误的值或崩溃,您可以在其中插入
控制台.log
或断点…另一个简单的问题:我有一个复合图表,我想禁用交叉筛选,使其仅用于查看图表。我可以简单地用刷子刷吗。(类似于)。实际上,关闭画笔也不起作用。在父项上设置
.brushOn(false)
会为我禁用画笔-请参阅例如。您是否试图禁用其他交互?我在条形图和折线图中添加了“.title”函数,但工具提示仍然没有显示。代码段:.title(函数(d){return d.key+“:“+d.value.rechtotal;})。请让我知道我做错了什么againI以为你之前说它展示了错误的东西。现在它根本没有显示?我忘了注意到
.title
必须在
.compose
之前指定(耶)。和往常一样,如果您认为title函数产生了错误的值或崩溃,您可以在其中插入
控制台.log
或断点…另一个简单的问题:我有一个复合图表,我想禁用交叉筛选,使其仅用于查看图表。我可以简单地用刷子刷吗。(类似于)。实际上,关闭画笔也不起作用。在父项上设置
.brushOn(false)
会为我禁用画笔-请参阅例如。您是否正在尝试禁用其他交互?