【问题标题】:D3.js - Width of xAxis for a bar chart too shortD3.js - 条形图的 xAxis 宽度太短
【发布时间】:2012-09-23 05:44:18
【问题描述】:

我使用 D3.js 创建了一个条形图 (fiddle)。

我有一个(可能非常简单的)问题,我很乐意得到一些支持:

为什么x轴太短了?

【问题讨论】:

    标签: javascript visualization d3.js


    【解决方案1】:

    较早的问题,也是我在 Stack 上的第一次回答尝试,但希望仍然有用:

    据我所知,您的 X 域仅到达 XMax,这将是图表最后一个条形的左下角 - 它不会“短”,它只是不知道条形有多宽在 XMax 之后。

    (它不考虑您添加 20 像素的 barWidth,而您的文本位置确实考虑了额外的宽度,这似乎是您只看到 Axis 问题的原因。)

    为了将轴一直延伸到末端,您必须考虑域中额外的 barWidth,或者以其他方式附加额外的 barWidth。这可以通过在 xMax 上再增加半天左右的时间,或者将每个条移到其 X 位置 (-barWidth) 而不是 +barWidth 的左侧来实现。

    【讨论】:

    • 太棒了!谢谢!这就是问题所在:) 我创造了一个新的小提琴。增加一天的三分之一就可以了。 jsfiddle.net/GLSas/3
    • 有人可以举例说明如何在不添加另一个虚拟数据点的情况下实现这一目标吗?
    【解决方案2】:

    x 轴并不太短(它的高度正好足以满足您的最大值),但您可能希望它是 nice

    var y = d3.scale.linear()
        .domain([0, yMax])
        .range([h - margin.top - margin.bottom, 0])
        .nice();
    

    【讨论】:

    • 我想我不明白你的问题。什么太短了?
    • :) xAxis 仅在最后一个柱之前不久绘制。它(黑线)缺少最后几个像素。不知何故,轴的比例和条形图不适合在一起。
    猜你喜欢
    • 1970-01-01
    • 2018-10-21
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多