D3.js D3。斧头。为顺序刻度绘制轴的正确方法是什么

D3.js D3。斧头。为顺序刻度绘制轴的正确方法是什么,d3.js,D3.js,我有一张显示直方图的图表 垂直绘制,水平x轴以“箱子中的项目”为单位。我的问题是x轴。我不清楚如何配置d3.svg.axis()来绘制图表底部带有单位的轴。事情有点复杂,因为我围绕y轴翻转箱子的方向,以指示它们包含负值(向左翻转)或正值(向右翻转) 更新 这是相关代码 承载我的直方图的对象。我已经删除了不相关的代码。 self.datasource是{id:name,score:score\u value}形式的对象数组 scarpa.ConnectivityScoreHistogram =

我有一张显示直方图的图表

垂直绘制,水平x轴以“箱子中的项目”为单位。我的问题是x轴。我不清楚如何配置
d3.svg.axis()
来绘制图表底部带有单位的轴。事情有点复杂,因为我围绕y轴翻转箱子的方向,以指示它们包含负值(向左翻转)或正值(向右翻转)

更新 这是相关代码

承载我的直方图的对象。我已经删除了不相关的代码。 self.datasource是{id:name,score:score\u value}形式的对象数组

scarpa.ConnectivityScoreHistogram = function (dataset) {

    var self = this;

    this.histogramDataSource = d3.layout.histogram()
        .value (function(d) { return d.score; })
        .bins(binThresholds)
    (self.datasource);

    this.extent = d3.extent(this.histogramDataSource, histogramXDomainMapper);

    // Set domain for x and y scales. Range is set in renderer
    this.xScale = d3.scale.linear().domain(this.extent);

    this.yScale = d3.scale.ordinal().domain(this.histogramDataSource.map(histogramYDomainMapper));

};  

function histogramXDomainMapper(d) {
    return doPertCount(d);
}

function doPertCount(d) {
    return (d.x < 0) ? -(d.y) : d.y;
}

function histogramYDomainMapper(d) {
    return d.x.toString();
}
轴不会出现在屏幕上。但是SVG元素被添加到DOM层次结构中:


请添加您的代码。没有它很难帮助你。这是一个序数轴的例子。您的问题是如何在技术上做到这一点,还是在您的案例中绘制它的最佳方法?请添加您的代码。没有它很难帮助你。这是一个序数轴的例子。您的问题是如何在技术上做到这一点,还是在您的案例中,最好的方法是什么?
histogram.yScale.rangeBands([bbox.height, 0], .125);

// scale range
histogram.xScale.range([0, histogram.scaleFactor * bbox.width]);

// axis
histogram.xAxis = d3.svg.axis();
histogram.xAxis.scale(histogram.xScale);
histogram.xAxis.orient("bottom");
histogram.xAxis.ticks(10);

// SVG element hierarchy buildout

// histogram group
histogramGroup = svg
    .append("g")
    .attr("id", label)
    .attr("transform", "translate(" + bbox.x + "," + bbox.y + ")");

svg.append("g")
    .attr("class", "x axis")
    .attr("transform", "translate(0, " + bbox.height + ")")
    .call(histogram.xAxis);