javascript - d3.js:文本太尖锐

标签 javascript d3.js

我目前正在使用 D3 进行数据可视化,到目前为止,我能够创建嵌套圆环图。现在,我想在中间添加一个文本。到目前为止还不错,但是当它呈现时,文本太“尖锐”了。

请看下图。

enter image description here

我已经尝试使用 shape-rendering: crispEdges 但它不起作用。

这是文本的脚本:

g.append("text")
.style("text-anchor", "middle")
.style("font-family", "AgfaRotisSansSerif")
.style("font-weight", "100")
.style("font-size", "2em")
.style("fill", "#8e44ad")
.text("REQUESTS");

明智的 CSS,我没有。

最佳答案

当您在同一点一遍又一遍地绘制相同的文本时,就会发生这种情况。使用浏览器 dom 检查器检查饼图中心有多少文本元素。如果它不止一个并且它们属于同一字符串,那就是你的问题。

看这里的效果: http://jsfiddle.net/Q5Jag/2059/

var svg = d3.select('svg');

var dataSet = [{x: 0, text: "No Overplot"}, {x: 1, text: "Overplot", }, {x: 1, text: "Overplot", }, {x: 1, text: "Overplot", }, {x: 1, text: "Overplot", }, {x: 1, text: "Overplot", }, {x: 1, text: "Overplot", }];

var circle = svg.selectAll('circle')
    .data(dataSet)
    .enter()
    .append('text')
    .attr({
        x:function(d, i){ return d.x * 100 + 60 },
        y:50,
        fill: 'black',
        stroke: 'none',
    })
    .text (function(d) { return d.text; })

关于javascript - d3.js:文本太尖锐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39830938/

相关文章:

javascript - 正则表达式以及将字符串转换为数组以及来回 Javascript

javascript - JQuery Mobile UI DatePicker 更改日期格式

javascript - Google map 无法使用 jquery 加载

javascript - 带有嵌套 svg 的 D3.js 缩放打破了 Internet Explorer 中的视口(viewport)

d3.js 使用 d3.scale.sqrt()

javascript - 如何控制d3 force layout的仿真速度

javascript - 条件 Jquery 类切换

javascript - YouTube API 搜索包含多个单词的 URL 编码

javascript - 使用 d3.js 创建甘特图

javascript - dc.js - 如何按唯一 ID 分组