我知道这是旧的,但我有一个情况,我正在创建一个饼图,需要更改饼图后面的背景颜色。我尝试了这个解决方案,但它没有工作,因为我没有分配主题。我正在以这种方式创建它:
var pieChart = new Chart("myDIV");
pieChart.addPlot("default", {type: "Pie"});
pieChart.addSeries("Series A", pieString);
我的 pieString 是我将变量组合在一起形成饼图的地方。基本上,我连接了一系列这样的语句:
{y:200, tooltip: "layer", color:"red", text: "myText"}
我将这些字符串连接在一起并将其分配给我的 pieString 变量。
当我设置图表时,我在它后面有一个标准的白色背景,这对我的彩色背景效果不佳,因为我希望它混合。有两个矩形构成背景。您可以通过 更改较大和最远的后一个pieChart.fill = "something"
,但内部的没有更改。
我为我解决这个问题的方式是这样的。
function ClearChartBackground() {
var sumDivRects = document.getElementById("chartDIV").getElementsByTagName("svg")[0].getElementsByTagName("rect"); //so I am getting the rectangles that are part of my chart div
var firstRect = sumDivRects[0];
var secondRect = sumDivRects[1];
firstRect.attributes.item(1).value = "0";
secondRect.attributes.item(1).value = "0";
//this drills down to the 'fill-opacity' attribute that can then be changed to make it transparent
}
正如您在我的照片中看到的,原始背景是白色的,这在我的灰色背景上效果不佳。运行我的函数后,它变为透明的。
我发布此内容是因为我让 Dojo 为我渲染它,我花了很长时间才找到如何更改它。我遇到了这篇文章,但由于我没有做主题,因此我没有从中得到太多帮助。