Javascript 使用Twitter引导时D3打印颜色方案问题
我很难让一些D3绘图使用我指定的配色方案。我正在使用flask、Twitter引导和D3 具体来说,我正试图使用CSV文件中的数据制作一个piechart(见下面的代码)。即使我为图表指定了自己的颜色(请参见代码部分:“.range”(“.FF4A29”、“.8a89a6”、“.7b6888”、“.6b486b”、“.a05d56”、“.d0743c”、“.ff8c00”)),生成的图表也有奇怪的紫色和绿色(见下文)。这些相同的紫色和绿色出现在我在页面上绘制的其他D3图中 当我在非引导页面上使用此javascript代码时,它看起来是正确的!我猜引导CSS中的某些内容正在覆盖javascript代码?是否存在强制使用指定颜色的方法Javascript 使用Twitter引导时D3打印颜色方案问题,javascript,css,twitter-bootstrap,d3.js,Javascript,Css,Twitter Bootstrap,D3.js,我很难让一些D3绘图使用我指定的配色方案。我正在使用flask、Twitter引导和D3 具体来说,我正试图使用CSV文件中的数据制作一个piechart(见下面的代码)。即使我为图表指定了自己的颜色(请参见代码部分:“.range”(“.FF4A29”、“.8a89a6”、“.7b6888”、“.6b486b”、“.a05d56”、“.d0743c”、“.ff8c00”)),生成的图表也有奇怪的紫色和绿色(见下文)。这些相同的紫色和绿色出现在我在页面上绘制的其他D3图中 当我在非引导页面上使用
<style>
.arc text {
font: 12px sans-serif;
text-anchor: middle;
}
.arc path {
stroke: #fff;
}
</style>
<script src="//d3js.org/d3.v3.min.js"></script>
<script>
var width = 500,
height = 500,
radius = Math.min(width, height) / 3;
var color = d3.scale.ordinal()
.range(["#FF4A29", "#8a89a6", "#7b6888", "#6b486b", "#a05d56", "#d0743c", "#ff8c00"]);
var arc = d3.svg.arc()
.outerRadius(radius - 10)
.innerRadius(0);
var labelArc = d3.svg.arc()
.outerRadius(radius + 60)
.innerRadius(radius - 40);
var pie = d3.layout.pie()
.sort(null)
.value(function(d) { return d.mentions; });
var svg2 = d3.select("#competitors").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2.3 + "," + height / 2.3 + ")");
d3.csv("static/competitor_mentions.csv", type, function(error, data) {
if (error) throw error;
var g = svg2.selectAll(".arc")
.data(pie(data))
.enter().append("g")
.attr("class", "arc");
g.append("path")
.attr("d", arc)
.style("fill", function(d) { return color(d.data.company); });
g.append("text")
.attr("transform", function(d) { return "translate(" + labelArc.centroid(d) + ")"; })
.attr("dy", ".35em")
.text(function(d) { return d.data.company; });
});
function type(d) {
d.mentions = +d.mentions;
return d;
}
</script>
.arc文本{
字体:12px无衬线;
文本锚定:中间;
}
.弧形路径{
冲程:#fff;
}
可变宽度=500,
高度=500,
半径=数学最小值(宽度、高度)/3;
var color=d3.scale.ordinal()
.范围([“FF4A29”、“8a89a6”、“7b6888”、“6b486b”、“a05d56”、“d0743c”、“ff8c00”);
var arc=d3.svg.arc()
.外层(半径-10)
.内半径(0);
var labelArc=d3.svg.arc()
.外部(半径+60)
.内半径(半径-40);
var pie=d3.layout.pie()
.sort(空)
.value(函数(d){return d.atterences;});
var svg2=d3.选择(#竞争对手”).追加(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
.附加(“g”)
.attr(“变换”、“平移”(“+width/2.3+”,“+height/2.3+”));
d3.csv(“静态/竞争对手_提及.csv”)、类型、功能(错误、数据){
如果(错误)抛出错误;
变量g=svg2。选择全部(“.arc”)
.数据(pie(数据))
.enter().append(“g”)
.attr(“类”、“弧”);
g、 附加(“路径”)
.attr(“d”,弧)
.style(“fill”,函数(d){返回颜色(d.data.company);});
g、 附加(“文本”)
.attr(“transform”,函数(d){return”translate(“+labelArc.centroid(d)+”);})
.attr(“dy”,“.35em”)
.text(函数(d){返回d.data.company;});
});
功能类型(d){
d、 提及次数=+d.提及次数;
返回d;
}
请查看d3.js的示例代码,其中包含bootstrap。我没有发现任何bootstrap覆盖颜色的问题。请在任何代码编辑器中共享您的代码,以便更好地分析问题。感谢您Hi Jyoti,感谢您创建该页面。我担心bootstrap很难使用它,但我尝试了复制bootstrap CSS。它似乎不起作用。你怎么看?请在任何代码编辑器中共享你的代码(如codepen、JSFIDLE等)。我将尝试找出你的代码中的错误。我非常困惑,因为它在这个JSFIDLE()中起作用,但它在我的机器上不起作用…调试你的代码,我相信你会通过比较工作副本和非工作副本来发现错误。请检查d3.js的示例代码,包括bootstrap。我没有发现bootstrap覆盖颜色的任何问题。请在任何代码编辑器中共享你的代码,以便更好地分析问题。谢谢你i、 感谢您创建该页面。我担心很难让bootstrap使用它,但我尝试复制bootstrap CSS。它似乎不起作用。您认为如何?请在任何代码编辑器(如codepen、JSFIDLE等)中共享您的代码。我将尝试找出您的代码中的错误。我非常困惑,因为它在这个JSFIDLE()中工作,但在我的机器上不工作……调试您的代码,我相信您会通过比较工作副本和非工作副本来找到错误。