javascript - 防止 NVD3 图表轴出现负值

标签 javascript d3.js nvd3.js

您好,我需要使用 NVD3/D3 将线图限制为具有不带负数的 Y 轴。我正在尝试根据 this answer 来做到这一点像这样:

chart.y1Axis.scale().domain([0, maxValue])
            .tickFormat(d3.format(',f'));

但是将“.scale().domain([0, maxValue])”添加到链中会杀死整个图表。我不知道如何做这个基本的事情,也找不到有效的例子。有什么想法吗?谢谢!

最佳答案

y1Axis.scale() 返回一个比例对象,.domain([0, maxValue]) 对其进行修改。

.tickFormat(d3.format(',f')) 需要一个轴对象,而不是一个比例对象。要解决此问题,请在修改完轴后放置 .scale():

chart.y1Axis
    .tickFormat(d3.format(',f'))
    .tickValues([1, 2, 3, 5, 8, 13, 21])
    .etc(...)
  .scale()
    .domain([0, maxValue])

关于javascript - 防止 NVD3 图表轴出现负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796046/

相关文章:

javascript - 滴答声开始复制缩放 d3js

javascript - 在 d3.js 中设置轴的 css

javascript - 如何在带有力布局的气泡图中以圆形方式排列所有气泡?

d3.js - 如何在 nvd3/d3.js 的 x 轴上显示日期?

javascript - 向 NVD3 multiChart 添加额外的图表,缩短图表(由于图例)修复了什么?

javascript - Angular - $routeParams.itemID 用于加载domain.com/:itemID ALMOST WORKING?

javascript - 使用 lodash 转换集合

javascript - 简单的 Highcharts 但无法运行

javascript - 相当于链接到字体文件的 JS

javascript - NVD3.js 线图无法将 y 轴缩放到最大值和最小值