Я знаю, что это старый, но у меня была ситуация, когда я создавал круговую диаграмму, и мне нужно было изменить цвет фона позади круговой диаграммы.Я попробовал это решение, но оно не сработало, потому что я не назначал тему.Я создаю это так:
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, отрисовывающее это для меня.Я наткнулся на этот пост, но мне не очень помогли, так как я не делал темы.