2012-06-19 11 views
5

Esta es mi corta función que cada vez se pone "Esas columnas están fuera de los límites"usando EmbeddedChartBuilder y 'conseguir columnas están fuera de los límites'

function myFunction() { 
var sheet = SpreadsheetApp.getActiveSheet(); 
var range = sheet.getDataRange(); 
var chartBuilder = sheet.newChart(); 
chartBuilder.addRange(range).setChartType(Charts.ChartType.LINE).setOption('title', 'My Line Chart!'); 
sheet.insertChart(chartBuilder.build()); 
} 

he intentado sheet.getRange("A1:B6") también.

La primera columna son las fechas y la segunda columna son las entradas. La GUI estándar Insertar un gráfico puede usar los datos tal como están.

¿Alguien ha tenido éxito con las nuevas clases de EmbeddedGraph? gracias

Respuesta

8

El problema no es el rango de datos de entrada, sino el lugar donde se ubica el gráfico en el proceso de compilación. Está intentando colocar el gráfico en la parte superior de los datos en la página. Debe usar en el chartBuilder para indicar a dónde debe ir el gráfico. Creo que intentará ponerlo en la fila 1, columna 1 si no especifica nada, lo que significa que probablemente intente sobreescribir sus datos.

intente reemplazar su última línea con este

sheet.insertChart(chartBuilder.setPosition(7, 1, 1, 1).build()); 

setPosition parámetros son: int fila, int Col, fila de desplazamiento, Col compensado.

+0

¡Eso es perfecto! :) gracias Serge – wild

+0

@ScottR - He aprobado tu edición, aunque creo que no era realmente necesario, pero si crees que lo hace más explícito, ¿por qué no? El enlace al documento es una buena idea, debería haberlo hecho ;-) –

+0

Tuve el mismo problema, pero acabo de copiar el código exactamente y recibí el mismo error que el OP porque mis datos eran diferentes. Cuando me di cuenta de cuál era el problema subyacente (la sobreescritura de la ubicación del gráfico), lo descubrí. Por lo tanto, pensé que la edición de la respuesta podría hacerlo más rápido para otras personas como yo. – ScottR

Cuestiones relacionadas