在理解量表方面需要帮助

布朗

我正在使用dc.js库创建一个复合图表。这是我的图表设置:

 chartCountMonths
    .height(350)
    .x(d3.scaleTime())
    .xUnits(d3.timeMonths)
    .legend(dc.legend().x(80).y(20).itemHeight(13).gap(5))
    
    .elasticX(true)
    .elasticY(true)
    .brushOn(false)
    .compose([chartCurrentYear,chartPreviousYear]);
  chartCurrentYear
    .dimension(monthDim)
    .colors('orange')
    .dashStyle([10, 2])
      .title(function (d) { var t = yearCurrent + ": " + numFormat(d.value.current) + '\n' + yearPrev + ": " + numFormat(d.value.previous); return t })
    .group(monthGroupByYear, "Year " + yearCurrent)
    .valueAccessor(function (d) { return d.value.current })
chartPreviousYear
      .dimension(monthDim)
      .colors('green')
      .title(function (d) { var t = yearCurrent + ": " + numFormat(d.value.current) + '\n' + yearPrev + ": " + numFormat(d.value.previous); return t })
      .group(monthGroupByYear, "Year " + yearPrev)
      .valueAccessor(function (d) { return d.value.previous });

我不完全了解d3 / dc.js的缩放比例,这让我感到很生气。上面的代码呈现的是这样的:在此处输入图片说明

我使用reduceAdd,reduceRemove,reduceInitial创建的对象是这样的:

 [
    {"key":"07","value":{"current":900,"previous":963}},
    {"key":"08","value":{"current":779,"previous":577}},
    {"key":"09","value":{"current":457,"previous":651}},
    {"key":"10","value":{"current":0,"previous":646}},
    {"key":"11","value":{"current":0,"previous":621}},
    {"key":"12","value":{"current":0,"previous":1}},
    {"key":"06","value":{"current":1016,"previous":827}}
]

所以我想我缺少如何使这种秤工作。我只是尝试使用缩放方法,直到有些方法起作用为止。谁能指出我的解决方案,并给我链接以大致了解规模?我发誓比这个库的任何其他部分花更多的时间来确定缩放比例(xUnits()和.x):)

仅供参考:密钥来自d.Month,在这里我使用d3.timeFormat(“%m”)将日期格式化为两位数的月份。

我试图tickFormat()上班,但d3.time.format("%B")产生错误

Uncaught TypeError: n.getMonth is not a function

这是codepen:https ://codepen.io/jlbmagic/pen/QWEEpOB

谢谢

高登

正如我们在评论中讨论的那样,处理日期并知道何时应使用数字或字符串确实使人迷惑。

您遇到的特定问题是

overviewComposite.xAxis()。tickFormat(d3.time.format(“%B”));

由于X值是字符串(ordinals)'01''02'... 因此崩溃

如果使用时间刻度,则所有数据和访问器都可以使用日期,但是在这里,我认为最好是手动将数字映射回几个月:

const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Nov', 'Dec'];
overviewComposite.xAxis().tickFormat(m => monthNames[+m - 1]);

+m将字符串转换为数字。-1是因为月份从1开始编号。)

您的Codepen的叉子

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在理解标记模板方面需要帮助

来自分类Dev

在理解 Akka 方面需要帮助

来自分类Dev

在理解单例模式方面需要帮助

来自分类Dev

在理解Java用户输入方面需要帮助

来自分类Dev

在理解术语方面需要帮助(显示服务器)

来自分类Dev

在理解起始索引和子字符串的工作原理方面几乎不需要帮助

来自分类Dev

在理解属性方面需要澄清“运输壁垒”

来自分类Dev

在理解概念方面需要帮助:为什么在标头中声明一个函数而在源文件中定义一个函数?

来自分类Dev

在理解概念方面需要帮助:为什么在标头中声明一个函数而在源文件中定义一个函数?

来自分类Dev

在MAAS方面需要帮助

来自分类Dev

在截断方面需要帮助

来自分类Dev

在理解封装方面有很多困难

来自分类Dev

我在理解 url 之外的机制方面有问题

来自分类Dev

在多线程方面需要帮助

来自分类Dev

在环回方面需要帮助

来自分类Dev

需要一些帮助来理解这段代码的一个方面

来自分类Dev

在以下汇编语言方面需要帮助

来自分类Dev

在Python递减方面需要帮助

来自分类Dev

在通用数组创建方面需要帮助

来自分类Dev

在使用R清理数据方面需要帮助

来自分类Dev

在格式化功能方面需要帮助

来自分类Dev

需要比赛条件方面的帮助

来自分类Dev

在多层动画位置方面需要帮助

来自分类Dev

在纠正横幅图像尺寸方面需要帮助

来自分类Dev

在共享元素片段过渡方面需要帮助

来自分类Dev

jQuery需要编码方面的帮助

来自分类Dev

CSS需要“格式设置”方面的帮助

来自分类Dev

在PHP curl调用方面需要帮助

来自分类Dev

在加入和条件方面需要帮助

Related 相关文章

热门标签

归档