Pra*_*kta 5 javascript css svg d3.js
但默认实现如下:
实现如下:
baseGroup.append("g")
.attr("class", "xaxis")
.attr("transform", "translate(5," + (height - marginBottom) + ")")
.style({ 'stroke': 'Black', 'fill': 'none', 'stroke-width': '0.5px','font-size': '14px', 'shape-rendering': 'crispEdges'})
.call(xBar);
Run Code Online (Sandbox Code Playgroud)
想要删除每个刻度上的垂直条。谁能建议我设计 D3 x 轴的正确方法?
小智 6
根据D3更改文档, outerTickSize和innerTickSize已分别重命名为tickSizeInner和tickSizeOuter。
因此,更新 Gerardo Furtado 的答案,片段如下:
var xBar = d3.svg.axis()
.scale(scale)
.orient("bottom")
.tickSizeOuter(0)
.tickSizeInner(0)
Run Code Online (Sandbox Code Playgroud)
要设置内部刻度的大小,您必须使用axis.innerTickSize。根据API:
如果指定了大小,则将内部刻度大小设置为指定值并返回轴。如果未指定 size,则返回当前内部刻度大小,默认为 6。
因此,在您的情况下,轴生成器应该是这样的:
var xBar = d3.svg.axis()
.scale(scale)
.orient("bottom")
.outerTickSize(0)
.innerTickSize(0)
Run Code Online (Sandbox Code Playgroud)
这是一个演示:
var xBar = d3.svg.axis()
.scale(scale)
.orient("bottom")
.outerTickSize(0)
.innerTickSize(0)
Run Code Online (Sandbox Code Playgroud)
var svg = d3.select("svg");
var scale = d3.scale.linear()
.domain([0, 100])
.range([20, 480]);
var axis = d3.svg.axis()
.scale(scale)
.orient("bottom")
.outerTickSize(0)
.innerTickSize(0)
.tickPadding(10);
svg.append("g")
.attr("class", "x axis")
.style({
'stroke': 'gray',
'fill': 'none',
'stroke-width': '1px',
'font-size': '14px',
'shape-rendering': 'crispEdges'
})
.attr("transform", "translate(0,50)")
.call(axis)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6317 次 |
| 最近记录: |