The only way to make this happen is to manually set your chart options to match your data. The simplest example is with a square grid. To make the grid square, given the height and width for the chart, you would need to set the chartArea.height and chartArea.width options to create a square. This can be done by either assigning numbers (pixel dimensions) or by assigning percent strings (percent of total chart height/width, as appropriate). As an example:
var dimension = parseInt(chartHeight * 0.8); // set dimensions of the square to be 80% of the chart's height
in chart options:
chartArea: {
height: dimension,
width: dimension
}
You would then need to set the hAxis.viewWindow.min/max and vAxis.viewWindow.min/max options to make sure that both axes are showing the same range of values; they don't have to show the exact same values, just the same range (eg, x-axis max - min = y-axis max - min) so the scale remains the same, eg:
hAxis: {
viewWindow: {
min: 0,
max: 500
}
},
vAxis: {
viewWindow: {
min: 1000,
max: 1500
}
}
This can be extended to allow for non-square grids as well, you just need to keep the axis proportions the same as the chartArea proportions.