Javascript 在没有绘图功能的情况下,如何更改谷歌图表的背景色
在这里。我有基本的谷歌图表。我想更改图表的背景色。 它的画图功能很好, 但问题是我只需要改变谷歌图表的颜色,而不需要使用数据或绘图功能重新渲染 像这样Javascript 在没有绘图功能的情况下,如何更改谷歌图表的背景色,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,在这里。我有基本的谷歌图表。我想更改图表的背景色。 它的画图功能很好, 但问题是我只需要改变谷歌图表的颜色,而不需要使用数据或绘图功能重新渲染 像这样 function changeColor(){ gchart.backgroundColor='red'; } 而不是这个 function changeColor(){ chartOption.backgroundColor='red'; gChart.draw([somearrayToDataTable], chartOp
function changeColor(){
gchart.backgroundColor='red';
}
而不是这个
function changeColor(){
chartOption.backgroundColor='red';
gChart.draw([somearrayToDataTable], chartOption)
}
如果要更改图表的一个配置选项并更新图表,
唯一的办法是重新绘制图表 否则,您必须手动更改图表生成的SVG,
在图表的就绪事件上 在这种情况下,背景色将设置在图表的主
元素上。在ready事件中,我们可以使用原始颜色查找元素并更改
'fill'
属性
设置与颜色相关的配置选项时,图表会将任何命名颜色转换为十六进制值 “红色”=#ff0000 图表还将配置选项中使用的任何十六进制值转换为小写 #FF0000将变成#FF0000 为此,我们必须在配置选项中使用小写十六进制值。
e、 g 请参阅以下工作片段
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var data=new google.visualization.DataTable();
data.addColumn('number','x');
data.addColumn('number','y')
data.addRows([
[0, 0],
[1, 1],
[2, 2],
[3, 3]
]);
变量选项={
背景色:“#008000”,如果要更改图表的一个配置选项并更新图表,
唯一的办法是重新绘制图表
否则,您必须手动更改图表生成的SVG,
在图表的就绪事件上
在这种情况下,背景色将设置在图表的主
元素上。
在ready事件中,我们可以使用原始颜色查找元素并更改'fill'
属性
设置与颜色相关的配置选项时,
图表会将任何命名颜色转换为十六进制值
“红色”=#ff0000
图表还将配置选项中使用的任何十六进制值转换为小写
#FF0000将变成#FF0000
为此,我们必须在配置选项中使用小写十六进制值。
e、 g
请参阅以下工作片段
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var data=new google.visualization.DataTable();
data.addColumn('number','x');
data.addColumn('number','y')
data.addRows([
[0, 0],
[1, 1],
[2, 2],
[3, 3]
]);
变量选项={
背景色:‘#008000’,//谢谢,我试过了,但这个方法不是官方的,所以我搬到了high chartsjs,我真的很感激你的努力。我接受这个答案作为解决方案,谢谢谢谢,我试过了,但这个方法不是官方的,所以我搬到high chartsjs,我真的很感激你的努力。我接受这个答案作为解决方案,谢谢s
backgroundColor: '#008000', // <-- green
google.visualization.events.addListener(chart, 'ready', function () {
var rectangles = chart.getContainer().getElementsByTagName('rect');
Array.prototype.forEach.call(rectangles, function(rect) {
if (rect.getAttribute('fill') === options.backgroundColor) {
rect.setAttribute('fill', '#ff0000');
}
});
});