Just in case someone has the same problem as me, you can also fix the background only on the chart, not the entire div (which will add the background to the title, axis, etc.)
You can do this by doing something like this:
In html, as jaime suggested:
<div id='brand_div'> <div id='chart_div'></div> </div>
In css, as jaime suggested:
#brand_div{ background: url(<SOME-URL>) no-repeat; }
In javascript:
google.charts.load("current", {packages:["corechart"]}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['ID', 'X', 'Y', 'Temperature'], ['', 80, 167, 120], ['', 79, 136, 130], ['', 78, 184, 50], ['', 72, 278, 230], ['', 81, 200, 210], ['', 72, 170, 100], ['', 68, 477, 80] ]); var options = { colorAxis: {colors: ['yellow', 'red']}, width: 450, height: 300, title: 'My Daily Activities', backgroundColor: 'none' // this is important! }; var chart = new google.visualization.BubbleChart(document.getElementById('chart_div')); chart.draw(data, options); // this two lines are the ones that do the magic var boundingBox = chart.getChartLayoutInterface().getChartAreaBoundingBox(); $('#brand_div').css('background-position', boundingBox.left + "px " + boundingBox.top + "px").css('background-size', boundingBox.width + "px " + boundingBox.height + "px"); }
All this code was written using jaime's suggestion, google diagram documentation and comments this stack overflow question