javascript - yAxis().tickFomat 不适用于 dcjs 上的复合图表吗?

标签 javascript dc.js

如果我使用 yAxis() 刻度或刻度格式,我有这段代码会引发错误。

      revSpendCompositeChart
        .width(400).height(180)
        .elasticX(true)
        .transitionDuration(1000)
        .dimension(dateDim)
        .elasticY(true)
        .zoomOutRestrict(true)
        .x(d3.time.scale().domain([minDate,maxDate]))
        .renderHorizontalGridLines(true)
        .compose([
            dc.lineChart(revSpendCompositeChart)
                .dimension(dateDim)
                .colors('orange')
                .group(spendDateGroup, "Spend"),
            dc.lineChart(revSpendCompositeChart)
                .dimension(dateDim)
                .colors('green')
                .group(revenueDateGroup, "Revenue")
        ])
        .brushOn(false);

然而,这会引发未定义函数的错误。

       revSpendCompositeChart
        .width(400).height(180)
        .elasticX(true)
        .transitionDuration(1000)
        .dimension(dateDim)
        .elasticY(true)
        .zoomOutRestrict(true)
        .x(d3.time.scale().domain([minDate,maxDate]))
        .yAxis().tickFormat(function (v) {
                    return v + '%';
         })
        .renderHorizontalGridLines(true)
        .compose([
            dc.lineChart(revSpendCompositeChart)
                .dimension(dateDim)
                .colors('orange')
                .group(spendDateGroup, "Spend"),
            dc.lineChart(revSpendCompositeChart)
                .dimension(dateDim)
                .colors('green')
                .group(revenueDateGroup, "Revenue")
        ])
        .brushOn(false);

文档没有透露任何有关此的内容。但我发现折线图支持 yAxis() 函数。因此,由于我的复合图表是两个折线图,我需要使其工作。

最佳答案

Although most dc.js methods chain, some do not chain to the same object. xAxis returns a d3 axis object which is not the chart. If you access the axis objects of a chart, do it last or do it in a separate line:

var chart = dc.barChart(...).this(...).that(...);
var xAxis = chart.xAxis().tickFormat(...).ticks(...);
var yAxis = chart.yAxis().tickFormat(...).ticks(...);

https://github.com/dc-js/dc.js/wiki/FAQ#why-does-everything-break-after-a-call-to-xaxis-or-yaxis

关于javascript - yAxis().tickFomat 不适用于 dcjs 上的复合图表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29160183/

相关文章:

javascript - 如何点击显示 :none element with puppeteer?

javascript - 在 JavaScript 中,构造函数和作为构造函数调用的函数返回对象之间有什么区别?

javascript - 我可以让 elasticX()、elasticY() 仅适用于上限、dc.js 吗?

d3.js - dc.js 折线图不显示任何内容

dc.js 按多列对数据表进行排序

javascript - dc.js/如何在持续时间后自动更改条形图选定的值?

javascript - jQuery/Javascript 替换多次出现不起作用

javascript - html 表单 : email not validating against pattern

javascript - Dc.js 传单标记弹出窗口显示来自输入数据的字段

Java WebSockets : OnClose method is not called when closing websocket connection