D3 条形图 - 最后一根柱线悬在 X 轴的末端
D3 bar chart - last bar overhangs the end of the X axis
>我有一个 D3 堆叠条形图,它运行良好,除了最后一个条形悬在 X 轴的右侧,轴的左侧不接触 Y 轴。 这是因为我必须移动柱线,以便它们在刻度线上居中。 我想如果我在两端用日期填充时间刻度,那会照顾它,但相反,条形只是分散以占用可用空间。
下面是一个JSFiddle:http://jsfiddle.net/goodspeedj/cvjQq/
这是X刻度:
var main_x = d3.time.scale().range([0, main_width-axis_offset - 5]);
这是我尝试在两端用日期填充 X 轴:
main_x.domain([
d3.min(data.result, function(d) {
return d.date.setDate(d.date.getDate() - 1);
}),
d3.max(data.result, function(d) {
return d.date.setDate(d.date.getDate() + 1);
}
)]);
条形上 x 属性的计算公式为:
.attr("x", function(d) { return main_x(d.date) - (main_width/len)/2; })
这是一件小事,但它真的很烦我。 谢谢!
主要问题是 SVG 中有一个剪辑路径,该路径剪切了打印区域的一部分。删除后,您可以看到完整的图形,但第一根和最后一根柱线仍将"悬挂"在轴的末端。
要改变这一点,您必须扩展轴,例如,在计算刻度的最小值和最大值时,无论哪种方式都增加一两天。
相关文章:
- 键入最后一位数字后自动提交
- 使用Booklet Jquery插件,我如何验证最后一页是否显示
- ACE编辑器正在删除模块,因为define是't一根绳子
- 正在尝试删除子元素的最后一个子元素
- jQuery分页下一页和上一页按钮在点击零或超过最后一页后失败
- 如何为AngularJS制作智能表中第一页和最后一页的跳过按钮
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 在JavaScript中重构上个月的第一天和最后一天的代码(node.js)
- Datatables-如何在未显示所有列的情况下禁用表中最后一列的排序
- 为什么“i”会成为循环中的一根字符串
- 将一根细绳从烧瓶中传给angularjs
- 一根绳子可以有回文吗,有没有更好的方法可以做到这一点
- d3.行为缩放 仅使用一根手指时禁用触摸屏上的平移
- Angular.JS ng重复打断一根绳子
- 什么是稳健的&这是一种很好的方式,可以循环穿过一根绳子,把它的一部分刮下来
- 为什么我的$variable放在再培训局时就像一根绳子
- 如何把一根绳子分成几组
- 我怎样才能把一根弦变成一把钥匙
- 把一根绳子切成一根绳子
- D3 条形图 - 最后一根柱线悬在 X 轴的末端