Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3 x轴移除垂直杆_Javascript_Css_D3.js_Svg - Fatal编程技术网

Javascript D3 x轴移除垂直杆

Javascript D3 x轴移除垂直杆,javascript,css,d3.js,svg,Javascript,Css,D3.js,Svg,尝试实现X轴,如下所示: 但默认实现如下所示: 实现如下所示: baseGroup.append("g") .attr("class", "xaxis") .attr("transform", "translate(5," + (height - marginBottom) + ")") .style({ 'stroke': 'Black', 'fill': 'none', 'stroke-width': '

尝试实现X轴,如下所示:

但默认实现如下所示:

实现如下所示:

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);
要删除每个刻度上的垂直条。
有人能给我建议一下D3 x轴的正确样式吗?

要设置内部刻度的大小,必须使用
axis.innerTickSize
。根据报告:

如果指定了“大小”,则将内部刻度大小设置为指定值并返回轴。如果未指定大小,则返回当前内部刻度大小,默认为6

因此,在您的情况下,轴生成器应如下所示:

var xBar = d3.svg.axis()
    .scale(scale)
    .orient("bottom")
    .outerTickSize(0)
    .innerTickSize(0)
下面是一个演示:

var svg=d3.选择(“svg”);
var scale=d3.scale.linear()
.domain([01100])
.范围([20480]);
var axis=d3.svg.axis()
.比例尺(比例尺)
.orient(“底部”)
.outerTickSize(0)
.INNERTICK大小(0)
.1(10);
svg.append(“g”)
.attr(“类”、“x轴”)
.风格({
“笔划”:“灰色”,
“填充”:“无”,
“笔划宽度”:“1px”,
“字体大小”:“14px”,
“形状渲染”:“CrispEdge”
})
.attr(“变换”、“平移(0,50)”)
.呼叫(安讯士)

它可以通过css属性实现。将轴刻度线减少到0

var svg=d3.选择(“svg”);
var scale=d3.scale.linear()
.domain([01100])
.范围([20480]);
var axis=d3.svg.axis()
.比例尺(比例尺)
.orient(“底部”)
.1(10);
svg.append(“g”)
.attr(“类”、“x轴”)
.风格({
“笔划”:“灰色”,
“填充”:“无”,
“笔划宽度”:“1px”,
“字体大小”:“14px”,
“形状渲染”:“CrispEdge”
})
.attr(“变换”、“平移(0,50)”)
.呼叫(安讯士)
.x.axis>.tick>行{
笔画不透明度:0;
}

根据outerTickSize和innerTickSize分别重命名为和

因此,在更新Gerardo Furtado答案时,代码片段将是:

var xBar = d3.svg.axis()
  .scale(scale)
  .orient("bottom")
  .tickSizeOuter(0)
  .tickSizeInner(0)

由于您将对象传递给
样式
我假设您使用的是D3 v3,对吗?是的,版本3.5.17您也可以尝试此css:-.xaxis行{stroke opacity:0}