“Conocimiento software>Hojas de cálculo

¿Cómo especifica la pantalla del gráfico en una nueva hoja en el libro de trabajo actual?

2013/8/21
Hay algunas maneras de especificar que se debe mostrar un gráfico en una nueva hoja en el libro de trabajo actual, dependiendo de cómo esté creando el gráfico (por ejemplo, manualmente en Excel, usando el código VBA o a través de una biblioteca como Pandas en Python). Cubriré los métodos comunes:

1. Manualmente en Excel (GUI)

* Este es el más simple, si está trabajando directamente dentro de la aplicación Excel.

1. Crea el gráfico: Seleccione los datos que desea trazar. Vaya a la pestaña "Insertar" y elija el tipo de gráfico que desee (por ejemplo, columna, pastel, línea). El gráfico aparecerá inicialmente incrustado en la hoja actual.

2. Mueva el gráfico a una nueva hoja:

* Método 1 (haga clic con el botón derecho): Haga clic derecho en el área del gráfico. Elija "Mover gráfico ...".

* Método 2 (pestaña Diseño de gráfico): Seleccione el gráfico. La pestaña "Diseño del gráfico" aparecerá en la cinta. Haga clic en el botón "Mover gráfico" (generalmente ubicado en el lado derecho).

3. Mueve el cuadro de diálogo del gráfico: En el cuadro de diálogo "Mover gráfico", seleccione "Nueva hoja:" y opcionalmente le da un nombre a la hoja. Haga clic en "Aceptar".

2. VBA (Visual Basic para aplicaciones)

* Este método se utiliza cuando desea automatizar la creación y ubicación del gráfico utilizando el código VBA dentro de su libro de trabajo de Excel.

`` `VBA

Sub CreateChartonnewsheet ()

Dim CHT como gráfico

Dim rng como rango

Dim Newsht como hoja de trabajo

'Defina el rango de datos

Establecer rng =thisworkbook.sheets ("sheet1"). Range ("a1:b10") 'Ajuste el nombre y el rango de la hoja

'Crea una nueva hoja de trabajo para mantener el gráfico

Establecer newsht =thisworkbook.sheets.add (después:=thisworkbook.sheets (thisworkbook.sheets.count)) 'Agrega la hoja al final

'Alternativamente, agregue la hoja al principio:

'Set newsht =thisworkbook.sheets.add (antes:=thisworkbook.sheets (1))

'Crea el gráfico en la nueva hoja

Establecer cht =gráficos.add

Con cht

.ChartType =xlColumnClustered 'Ajustar el tipo de gráfico

.SetSourcedata Fuente:=RNG

.Location donde:=xllocationAsnewsheet, nombre:=newsht.name 'establecer ubicación

.Haslegend =verdadero 'Ejemplo:incluir una leyenda

.Charttitle.text ="My Chart Title" 'Ejemplo:Establecer el título

'Se pueden agregar opciones de personalización adicionales del gráfico aquí

Terminar con

'Opcional:cambie el nombre de la nueva hoja (ya realizada arriba a través de la ubicación)

'Newsht.name ="MyChartsheet"

'Opcional:active la hoja de gráfico

Martillo

'Limpiar variables de objetos

Establecer cht =nada

Establecer rng =nada

Establecer newsht =nada

Final

`` `` ``

* Explicación:

* `Dim CHT como gráfico ':declara una variable para mantener el objeto del gráfico.

* `Dim RNG AS Range`:declara una variable para mantener el rango de datos.

* `Dim Newsht as Worksheet ':declara una variable para contener la nueva hoja de trabajo.

* `Establecer rng =thisworkbook.sheets (" Sheet1 "). Range (" A1:B10 ")`:Define el rango de datos que se utilizará para el gráfico. IMPORTANTE:Cambie `" Hoja1 "` y `" A1:B10 "` a su nombre de hoja real y rango de datos.

* `Set newsht =thisworkbook.sheets.add (después:=thisworkbook.sheets (thisworkbook.sheets.count))`:Agrega una nueva hoja de trabajo * después de * la última hoja en el libro de trabajo. Puede usar `antes:=thisworkbook.sheets (1)` para agregarlo como la hoja * primero *.

* `Establecer cht =gráfico.add`:crea un nuevo objeto de gráfico. Esto es clave. `Charts.Add` crea una tabla en la colección * Chartobjects *.

* `.ChartType =xlColumnClustered`:Establece el tipo de gráfico. Use la constante `xlchartType` apropiada (por ejemplo,` xlline`, `xlpie`,` xlBarClustered`).

* `.SetSourcedata Fuente:=Rng`:Establece la fuente de datos para el gráfico.

* `.Location donde:=xllocationAsnewsheet, nombre:=newsht.name`:Esta es la línea crucial. Mueve la tabla a una nueva hoja.

* `Where:=xllocationAsnewsheet`:Especifica que el gráfico debe colocarse en una nueva hoja.

* `Nombre:=Newsht.Name`:Establece el nombre de la nueva hoja al nombre del gráfico.

* Consideraciones importantes para VBA:

* Manejo de errores: Agregue el manejo de errores (por ejemplo, `Error Goto Goto ErrorHandler`) para que su código sea más robusto. ¿Qué sucede si la hoja especificada no existe o el rango no es válido?

* Variables de objeto: Siempre limpie las variables de su objeto estableciéndolas en `nada '(como se muestra) para liberar la memoria.

* Personalización del gráfico: Las líneas `.Charttitle.Text`,` .Haslegend`, etc. son solo ejemplos. VBA ofrece amplias opciones para personalizar cada aspecto de un gráfico (ejes, etiquetas, formateo de series, etc.). Explore el modelo de objeto VBA de Excel para gráficos.

* Seguridad: Si su libro de trabajo contiene código VBA, es probable que deba guardarlo como un libro de trabajo Macro habilitado ('.xlsm`). Los usuarios también deberán habilitar las macros en Excel.

3. Python con pandas y openpyxl (o xlsxwriter)

* Esto se usa cuando trabaja con datos en Python y desea crear gráficos de Excel.

`` `Python

importar pandas como PD

importar openpyxl

Desde OpenPyxl Import Workbook

Desde OpenPyxl.Chart Import Barchart, referencia, serie

# Crear algunos datos de muestra

data ={'categoría':['a', 'b', 'c', 'd'],

'Valor':[10, 15, 13, 18]}

df =pd.dataframe (datos)

# Cree un escritor de Pandas Excel que use OpenPyxl como motor

Writer =Pd.excelwriter ("Chart_example.xlsx", Engine ='OpenPyxl')

# Escriba el marco de datos en una hoja llamada 'Datos'

df.to_excel (escritor, sheet_name ='data', index =false)

# Obtenga el libro de trabajo y los objetos de la hoja de trabajo

Libro de trabajo =escritor.book

Hoja de trabajo =escritor.sheets ['Data']

# Crea un barchart

gráfico =barChart ()

chart.type ="col"

Chart.style =10

chart.title ="Ventas por categoría"

Chart.y_axis.title ='valor'

Chart.x_axis.title ='Categoría'

# Defina el rango de datos (excluyendo la fila de encabezado)

data_range =reference (Worksheet, min_col =2, min_row =2, max_col =2, max_row =len (datos ['categoría']) + 1) #column B (valores), salto encabezado

categorías =referencia (hoja de trabajo, min_col =1, min_row =2, max_col =1, max_row =len (data ['categoría']) + 1) #column a (categorías), omitir el encabezado

# Agregue la serie de datos al gráfico

serie =series (data_range, title_from_data =false) #use .title ="" para establecer manualmente el título

Chart.append (serie)

Chart.set_categories (categorías)

# Crea una nueva hoja de trabajo para el gráfico

Chart_sheet =Workbook.Create_Sheet ("gráfico")

# Agregue el gráfico a la nueva hoja

chart_sheet.add_chart (gráfico, "A1") # Ajuste la posición de la celda según sea necesario

# Guarde el archivo de Excel

Writer.Close ()

print ("Excel File 'Chart_example.xlsx' creado con gráfico en una nueva hoja").

`` `` ``

* Explicación:

1. Importar bibliotecas: Importar `pandas`,` openpyxl` y los módulos necesarios de `openpyxl.chart`. Asegúrese de tener estas bibliotecas instaladas (`Pip Instale Pandas OpenPyxl`).

2. Crear datos (pandas): Cree sus datos utilizando Pandas Dataframes.

3. Crear escritor de Excel: Cree un objeto `pd.excelwriter`, especificando` openpyxl` como el motor. Esto le permite usar la funcionalidad `OpenPyXL` para crear el gráfico.

4. Escribir datos en la hoja: Escriba el marco de datos en una hoja en el archivo de Excel.

5. Obtener objetos de Libro de trabajo y hoja de trabajo: Acceda a los objetos `Workbook` y` hoja de trabajo 'desde el `Excelwriter`.

6. Crear gráfico: Cree un objeto de gráfico (por ejemplo, `Barchart`).

7. Definir rangos de datos (referencia): Use objetos `OpenPyxl.chart.Reference` para definir el rango de datos para el gráfico. Preste atención cuidadosa a los parámetros `min_col`,` min_row`, `max_col` y` max_row`.

8. Crear serie: Cree un objeto `Serie` desde el rango de datos. La `series` representa los puntos de datos que se trazarán.

9. Serie de apagado para registrar: Agregue el `series` al` gráfico '.

10. Establecer categorías Establecer las categorías

11. Crea una nueva hoja: Cree una nueva hoja de trabajo para el gráfico usando `Workbook.Create_Sheet (" Chart ")`. El nombre de la nueva hoja es "Gráfico".

12. Agregar gráfico a la hoja: Use `Chart_sheet.add_chart (gráfico," A1 ")` para agregar el gráfico a la nueva hoja. El argumento `" A1 "` especifica la celda superior izquierda donde se colocará el gráfico. Ajuste esto según sea necesario.

13. Guardar libros de trabajo: Guarde el archivo de Excel usando `Writer.Close ()`.

* Puntos clave para Python:

* Bibliotecas: * Debe * instalar las bibliotecas necesarias:`PIP instale Pandas Openpyxl` (o` Pip Instale XLSXWriter` si elige ese motor).

* OpenPyxl vs. XLSXWriter:

* `OpenPyxl`:puede leer y escribir archivos de Excel existentes. Más flexible para formateo complejo.

* `XLSXWriter`:Excelente para crear * nuevos * archivos de Excel, especialmente los grandes. A menudo más rápido que `openpyxl` para escribir. Sin embargo, no puede modificar los archivos existentes. La principal diferencia para este problema es que `XLSXWriter` solo puede crear gráficos en la hoja donde están los datos.

* Rangos de datos: Los objetos de `referencia 'son cruciales. Asegúrese de que los valores `min_col`,` min_row`, `max_col` y` max_row` sean correctos para sus datos. Recuerde que las columnas y las filas de Excel están basadas en 1, no basadas en 0 como listas de Python.

* Personalización del gráfico: `OpenPyXL` y` XLSXWriter` tienen amplias opciones para personalizar cuadros (títulos, ejes, colores, etiquetas, etc.). Consulte su documentación.

En resumen:

* Si lo está haciendo manualmente en Excel, el diálogo "Mover gráfico" es el más fácil.

* Si está automatizando con VBA, la propiedad '.Location` es clave.

* Si está utilizando Python, `OpenPyxl` y` XLSXWriter` requieren más código, pero le brindan potentes opciones de personalización de gráficos. Se requiere `OpenPyXL` al modificar un archivo de Excel existente.

Elija el método que mejor se adapte a sus necesidades y al entorno en el que está trabajando. Asegúrese de ajustar los ejemplos de código para que coincidan con sus datos específicos, los nombres de las hojas y el tipo de gráfico deseado. Recuerde instalar las bibliotecas necesarias si usa Python.

Hojas de cálculo
¿Cómo puede una hoja de cálculo beneficiarme como estudiante y un contador?
Cómo construir listas desplegables en una hoja de cálculo de Microsoft
¿Es un texto de etiqueta en la celda en la hoja de cálculo?
En Excel, la persona o personas que solicitan la hoja de trabajo deben proporcionar sus requisitos en un documento?
¿Por qué guardarías una hoja de cálculo?
Visualización visual de datos en una hoja de cálculo?
¿Cómo se convierte PDF en formulario Formable?
¿Por qué se requiere el formato de hojas de cálculo?
Conocimiento de la computadora © http://www.ordenador.online