首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3 x轴格式

D3 x轴格式
EN

Stack Overflow用户
提问于 2016-11-01 22:55:31
回答 1查看 230关注 0票数 1

我想格式化x轴文本与更多的填充和空间,我无法做到这一点。实际文本大约有6-7个字符长,但只显示了3个字符。下面是代码的摘录和屏幕截图:

代码语言:javascript
复制
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis)
.selectAll("text")
.attr("transform", "rotate(90)");

d3条形图

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-02 00:14:30

当在滴答中旋转文本时,您必须设置xy。另外,更改text-anchor也是个好主意。就像这样:

代码语言:javascript
复制
svg.append("g")
    .attr("class", "x axis")
    .attr("transform", "translate(0," + height + ")")
    .call(xAxis)
    .selectAll("text")
    .attr("y", 0)//tweak this value
    .attr("x", 10)//tweak this value
    .attr("dy", ".35em")//tweak this value
    .attr("transform", "rotate(90)")
    .style("text-anchor", "start");

查看演示:

代码语言:javascript
复制
var svg = d3.select("body")
	.append("svg")
	.attr("width", 400)
	.attr("height", 100);

var data = ["foo", "bar", "baz", "foobar", "foobaz"];

var scale = d3.scaleBand()
	.range([0, 400])
	.domain(data);
	
var axis = d3.axisBottom(scale);

var gX = svg.append("g")
    .attr("class", "x axis")
    .attr("transform", "translate(0,30)")
    .call(axis)
		.selectAll("text")
    .attr("y", 0)//tweak this value
    .attr("x", 10)//tweak this value
    .attr("dy", ".35em")//tweak this value
    .attr("transform", "rotate(90)")
    .attr("font-size", 14)
    .style("text-anchor", "start");
代码语言:javascript
复制
<script src="https://d3js.org/d3.v4.min.js"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40369877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档