D3.js:x轴,刻度之间的间隔可变

时间:2016-03-08 10:38:06

标签: javascript d3.js

我遇到了D3.js库的问题。我试图在图表中绘制染色体数据,其中x轴代表不同的染色体。对于条形图等,这很容易做到。

但是,我想基于染色体位置绘制线性数据。蜱之间的间隔大小也应与染色体的大小相关。

我的问题是,我应该使用哪种比例?我认为线性刻度不适合这个目的。我已经阅读了有关阈值比例的内容,但我不知道这是否是最佳选择。有没有人有更好的主意?

谢谢! 中号

tl; dr:我需要一个x轴,在刻度线之间有可变间隔,根据线性数据,我该怎么办呢?

编辑:带示例的图片

example image

1 个答案:

答案 0 :(得分:2)

找到了答案!

我只需要使用带有自定义刻度的线性刻度。这可以使用刻度格式选项进行设置。

//set axis
xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.ticks(chrInfo.length)
.tickValues(d3.set(chrInfo.map(function(d) {return d.end;})).values())
.tickFormat(function(d){return d.chr;})
.tickSize(-(height), 0, 0);