d3.js - d3 对数刻度不显示

标签 d3.js scale logarithm

我想在两个轴上显示一个对数刻度的等高线图。我找到了这个很好的例子来执行这个任务:

http://plnkr.co/edit/f1VThUpkHxUzxOBXmTCr?p=preview

但是当我将刻度更改为对数刻度时

var x = d3.scale.log()
    .range([0, width]);

代替

var x = d3.scale.linear()
    .range([0, width]);

轴就这样消失了。我认为问题是 log(0) = -infinity 但是如果我从 1 开始它不会改变任何东西。

问题是什么?

最佳答案

您想将更改为不从 0 开始(我假设您更改了范围)

x.domain([1, dx]);

笨蛋 - http://plnkr.co/edit/RTzBztpVpR2GYXiVUogb?p=preview


enter image description here

关于d3.js - d3 对数刻度不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243939/

相关文章:

javascript - 给定数组 "distribute/scale"的数量到特定值

javascript - d3.js 图代码创建额外的节点

javascript - 如何重绘图表: d3. js链接函数和crossfilter过滤

javascript - 检查变量,如果为 false,则创建对象

javascript - 使用 selectAll 获取特定于某个组的 svg 元素

d3.js - d3js缩放笔划宽度

iphone - Webkit iPhone 应用程序 : How to dynamically change the user zoom (or scale, pic & Zoom) 在视口(viewport)中?

仅使用 C 中的按位运算符计算 log2(x) 的底数

python - python中的对数y轴箱

java - 对数算法