我創建了一個D3餅圖並旋轉了文本標籤以徑向向外流動。這在IE上看起來不錯,但不幸的是,在Chrome瀏覽器中,文字看起來很糟糕。 CSS webkit字體平滑技巧似乎不起作用。我猜這需要在SVG/D3的土地上完成......? Chrome只是不想合作。D3旋轉文字:在Chrome中平滑?
完整的代碼是在這個小提琴: http://jsfiddle.net/mn5bT/2/
我追加文本標籤以這種方式:
g.append("text")
.attr("transform", function(d) {
var c = arc.centroid(d),
x = c[0],
y = c[1],
h = Math.sqrt(x*x + y*y); // pythagorean theorem
flipAngle = d.endAngle > Math.PI;
angleOffset = flipAngle? 90:-90;
return "translate(" + (x/h * radius) + ',' + (y/h * radius) + ")" +
"rotate(" + (angleOffset + 180*(d.endAngle + d.startAngle)/2/Math.PI) + ")";
})
.attr("dy", ".35em")
.attr("text-anchor", function(d) {
// are we past the center?
return (d.endAngle + d.startAngle)/2 > Math.PI ? "end" : "start";
})
.text(function(d) { return d.data.value.campus; });
這是在Windows上嗎?在linux的Chrome v31.0.1650.8-dev中,http://jsfiddle.net/mn5bT/2/中的文本標籤被平滑地繪製(帶有抗鋸齒功能)。雖然有一些令人不解的問題(單獨的問題)。 –
是的,我看到的文字雜亂是在Win8上運行的Chrome 30.0.1599.69m。還嘗試了32.0.1664.3 dev-m靈氣,並且仍然存在煩躁感。看起來像一個Chrome/Win特定的錯誤。 – pmont
我認爲http://crbug.com/25541可能是你的事情。 –