Cómo Crear Un Gráfico Vectorial En Excel. 3 Pasos A Seguir

Última actualización:

Desde hace algún tiempo, hemos estado investigando bien cómo crear un gráfico vectorial en Excel. Pensamos que es un desafío interesante y podría ser útil para muchos usuarios. Con las herramientas de Excel, puedes crear gráficas de vectores en blanco y negro o a color. El proceso es un poco tedioso, pero lo explicaremos paso a paso para que lo hagas siguiendo el tutorial.

Debes tomar en cuenta que se trata de comandos, por lo que debes trabajar con total exactitud. Si te equivocas en un solo elemento, el procedimiento no se realizará de forma correcta y no podrás obtener la gráfica deseada. Sin mediar más palabras, sigue tu lectura para comenzar con la creación de tu gráfico.

Quizás te puede interesar: Trazar Una Ecuación En Un Gráfico De Excel

Cómo crear un gráfico vectorial en Excel

Hay varios procedimientos involucrados al momento de crear un gráfico vectorial en Excel, a continuación explicaremos todo en detalle:

1. Crear los datos vectoriales si no los tienes

En nuestro caso, no teníamos datos vectoriales a mano, así que tuvimos que inventar algunos. Para este ejercicio nuestro campo vectorial estará definido por lo siguiente:

Cómo crear un gráfico vectorial en Excel

El primer paso es definir la cuadrícula para el campo vectorial. Elegimos una cuadrícula espaciada uniformemente con dimensiones de 0,3 x 0,3. También decidimos, por simplicidad, colocar las colas de cada vector, en lugar del punto medio, en la cuadrícula. Entonces, el primer paso fue crear dos columnas para los valores “x1” y “y1”, o la posición de las colas de cada vector.

Cómo crear un gráfico vectorial en Excel

En las columnas inmediatamente al lado de “x1” y “y1”, creamos las columnas “x2” y “y2”. Estos puntos serán el extremo de la cabeza o flecha de los vectores. La cabeza del vector debe ubicarse en la posición x1+fx y y1+fy. Pero esta posición absoluta hace que los vectores sean muy grandes en relación con el espaciado de la cuadrícula.

Por lo general, en una gráfica vectorial, lo que nos importa es el tamaño relativo de los vectores comparados entre sí. Para abordar esto, agregamos un factor de escala en el cálculo de “x2” y “y2”. Un valor de 0,1 funcionó bien en este caso. La fórmula para x2 se muestra a continuación.

Cómo crear un gráfico vectorial en Excel

Si estuviéramos tratando de hacer un gráfico vectorial a partir de datos existentes, podríamos agregar otra columna para multiplicar los datos por un factor de escala. Ahora que tenemos cuatro columnas de valores que definen completamente los vectores, podemos crear un gráfico vectorial en Excel.

2. Creación de un gráfico vectorial en Excel

El gráfico vectorial está hecho del tipo de gráfico de dispersión en Excel. Entonces, comenzamos insertando uno en blanco en la hoja de trabajo.

Creación de un gráfico vectorial en Excel

Cada vector estará representado por una serie de datos. Para comenzar a completar el gráfico, hacemos clic derecho sobre él y elegimos «Seleccionar datos» en el menú. A continuación, agregamos la nueva serie seleccionando la primera fila de valores “x1” y “x2” como «Valores X de serie» y la primera fila de valores “y1” y “y2” como «Valores Y de serie«.

Creación de un gráfico vectorial en Excel

Luego, agregamos una punta de flecha al vector cambiando su formato. Primero seleccionamos la serie de datos, luego navegamos a la pestaña Herramientas de gráfico> Formato para agregar la punta de flecha.

  Solución Error No Se Pudo Acceder Al Adaptador NordLynx

Creación de un gráfico vectorial en Excel

Ahora tenemos algo que parece un vector en nuestro gráfico. También hicimos que el área de la trama fuera cuadrada para que no sesgue los vectores.

Creación de un gráfico vectorial en Excel

Todo lo que queda es repetir este proceso para cada vector. Fácil, ¿verdad? Tenemos mejores cosas pendientes que hacer clic en los botones todo el día para agregar todos los vectores individuales a este gráfico. ¡Suponemos que tú también! Entonces, hagámoslo un poco más inteligentemente, ¿de acuerdo?

3. Uso de VBA para agregar series de datos a un gráfico de dispersión de Excel

En lugar de agregar cada vector manualmente haciendo clic en los botones de Excel, podemos crear una subrutina para agregar cada serie. El VBA para la subrutina está a continuación:

Agregar series de datos a un gráfico de dispersión de Excel

Esto es lo que hace la subrutina:

  1. Activa el gráfico (el nuestro se llamaba «Chart7») y selecciona el área de trazado.
  2. Inicia un ciclo «For» para recorrer cada una de las 49 filas de valores.
  3. Define los valores de x como las celdas de la fila actual y las columnas C y D como una cadena que se puede introducir en el gráfico de dispersión.
  4. Define los valores y las celdas en la fila actual y las columnas E y F.
  5. Agrega una nueva serie al gráfico usando los valores x y los valores y
  6. Luego formatea la serie recién agregada.
  7. Añade la punta de flecha.
  8. Por último, pasa a la siguiente fila, hasta completar las 49.

El resultado, después de quitar las etiquetas de los ejes y ajustar los límites, es este:

Agregar series de datos a un gráfico de dispersión de Excel

Parece una trama vectorial, ¿no? Cada fila de valores “x” y “y” de la tabla se representa como un vector, con la cola de cada vector alineada con la cuadrícula predefinida. Para hacer un gráfico vectorial de modo que el punto medio del vector esté en la cuadrícula, necesitamos indudablemente definir un tercer punto para cada vector.

¿QUE SIGUE?

Queremos mejorar el gráfico vectorial agregando una escala de color para que el color de los vectores cambie con su magnitud. Básicamente, los vectores más pequeños serán azules y los más grandes, rojos. Esto implicará una interpolación lineal con valores RGB, como se muestra a continuación:

Agregar series de datos a un gráfico de dispersión de Excel

NOTA:

Este método solo funcionará para gráficos vectoriales en los que el número de vectores sea inferior a 255 debido a la limitación de la serie de gráficos de Excel. Solo se permiten 255 series de datos por gráfico.

Tal vez quieras conocer: 6 Mejores Programas Para Resolver Ecuaciones

Cómo crear un gráfico vectorial coloreado en Excel

Anteriormente mostramos cómo usar VBA para crear un gráfico vectorial en Excel. Esa trama era solo una simple trama vectorial en blanco y negro. Entonces, en este apartado, te mostraremos cómo llevar ese gráfico al siguiente nivel con una escala de colores para indicar la magnitud de los vectores, como la siguiente:

Crear un gráfico vectorial coloreado en Excel

El concepto básico para crear el gráfico vectorial en Excel que tenga diversos coloreado es este:

  • Paso 1: define un degradado que se utilizará para colorear los vectores.
  • Paso 2: determina la magnitud de cada uno de los vectores.
  • Paso 3: encuentra las magnitudes mínima y máxima.
  • Paso 4: calcula la magnitud porcentual relativa de cada vector (mínimo = 0%, máximo = 100%)
  • Paso 5: interpola en el gradiente para encontrar el porcentaje de rojo, verde y azul para el vector.
  • Paso 6: traza el vector en el gráfico.
  • Paso 7: aplica el formato al vector, incluido el color.

Como probablemente hayas adivinado, todos estos pasos (excepto 1) se llevaron a cabo en VBA. Revisaremos cada uno a continuación.

  Solucionar Error "No Se Puede Localizar ADB" En Android

Definición del gradiente

Excel hace que sea fácil jugar con degradados y encontrar el que te gusta. Acabamos de crear un rectángulo en la hoja de trabajo, luego lo rellenamos con un degradado personalizado con paradas en 0 % (rojo), 33 % (amarillo), 66 % (verde) y 100 % (azul).

Crear un gráfico vectorial coloreado en Excel

Luego, convertimos eso en una tabla de valores RGB vs. porcentaje. Queríamos que el 0 % (o los valores más pequeños) fueran azules y el 100 % (o los valores más grandes) fueran rojos. Los valores RGB son números enteros entre 0 y 255.

Crear un gráfico vectorial coloreado en Excel

Más tarde, interpolamos en VBA según la magnitud relativa del vector (de 0 a 100 %), por lo que también nombramos cada columna («legendx», «legendr», «legendg», «legendb») para facilitar la interpolación. Con el degradado definido, entremos en VBA:

Cálculo de magnitudes vectoriales, mínimo, máximo en vba

Después de definir el número total de vectores (numvect) e inicializar las variables, «minvmag» y «maxvmag», el siguiente código recorre las filas de datos para calcular la magnitud de cada vector, «vmag». También almacena cada una de las magnitudes en un arreglo. Esta matriz se usará más adelante cuando coloreemos el vector con el tono apropiado según el degradado que definimos. Finalmente, el valor actual de vmag se compara con maxvmag y minvmag. Si es mayor que maxvmag, se actualiza el valor de maxvmag. Si es menor que minvmag, se actualiza el valor de minvmag.

numvect = 196

minvmag = 1000000

maxvmag = 0

ReDim vmagarray(1 To numvect)

For j = 1 To numvect

x1 = Cells(4 + j, 2)

x2 = Cells(4 + j, 3)

y1 = Cells(4 + j, 5)

y2 = Cells(4 + j, 6)

vmag = Sqr((x1 – x2) ^ 2 + (y1 – y2) ^ 2)

vmagarray(j) = vmag

If vmag > maxvmag Then

maxvmag = vmag

ElseIf vmag < minvmag Then

minvmag = vmag

End If

Next j

Calcula la magnitud porcentual relativa de cada vector

Con las magnitudes de cada vector, así como el mínimo y el máximo definidos, podrías pasar a trazar cada vector con un bucle For (For i = 1 to numvect). Dentro del ciclo, tuvimos que normalizar los vectores entre 0 y 1, para poder aplicar el gradiente definido anteriormente. La siguiente ecuación se encarga de eso:

relvmag = (vmagarray(i) – minvmag) / (maxvmag – minvmag)

Interpolando para obtener el color de cada vector

La magnitud relativa del vector podría ser cualquier valor entre 0 y 1, por lo que necesitábamos interpolar de la tabla anterior para encontrar el color correcto para aplicar al vector. Usamos una función de interpolación lineal simple (LinInterp) que creamos anteriormente para manejar esto. Y como los valores RGB son números enteros, tuvimos que redondear el resultado de la interpolación para obtener el valor final.

red = Round(LinInterp(relvmag, Range(«legendx»), Range(«legendr»)))

grn = Round(LinInterp(relvmag, Range(«legendx»), Range(«legendg»)))

blu = Round(LinInterp(relvmag, Range(«legendx»), Range(«legendb»)))

Trazar el vector

El VBA para trazar el vector como una serie y formatearlo como una flecha es el mismo que antes:

xvalues = «=Sheet1!$B$» & i + 4 & «:$C$» & i + 4

yvalues = «=Sheet1!$E$» & i + 4 & «:$F$» & i + 4

‘add the series to the chart

ActiveChart.SeriesCollection.NewSeries

ActiveChart.FullSeriesCollection(i).xvalues = xvalues

ActiveChart.FullSeriesCollection(i).Values = yvalues

With Selection.Format.Line

.EndArrowheadLength = msoArrowheadLengthMedium

.EndArrowheadWidth = msoArrowheadWidthMedium

.EndArrowheadStyle = msoArrowheadTriangle

Aplicar un color al vector

Finalmente, usamos los valores RGB interpolados (variables “red”, “grn”, “blu”) en el ciclo With para colorear los vectores:

.ForeColor.RGB = RGB(red, grn, blu)

La subrutina completa de vba para crear un gráfico vectorial coloreado

A continuación se muestra la subrutina completa para crear el gráfico vectorial coloreado en Excel. Debes seguirla de forma exacta (sin obviar ningún detalle), para evitar errores en el proceso:

Sub add_vector()

Dim xvalues As String

Dim yvalues As String

Dim numvect As Integer

Dim vmagarray() As Double

Dim minvmag As Double

Dim maxvmag As Double

Dim red As Integer

Dim grn As Integer

Dim blu As Integer

numvect = 196

‘find the minimum and maximum vector magnitudes

‘(these need to be defined before plotting)

‘store the vector magnitudes in an array for later use

minvmag = 1000000

maxvmag = 0

ReDim vmagarray(1 To numvect)

For j = 1 To numvect

x1 = Cells(4 + j, 2)

x2 = Cells(4 + j, 3)

y1 = Cells(4 + j, 5)

y2 = Cells(4 + j, 6)

vmag = Sqr((x1 – x2) ^ 2 + (y1 – y2) ^ 2)

vmagarray(j) = vmag

If vmag > maxvmag Then

maxvmag = vmag

ElseIf vmag < minvmag Then

minvmag = vmag

End If

Next j

‘activate the chart and select the plot area

ActiveSheet.ChartObjects(«Chart 7»).Activate

ActiveChart.PlotArea.Select

For i = 1 To numvect

‘determine the relative percent magnitude of the vector

‘(w.r.t. the minimum and maximum vectors)

relvmag = (vmagarray(i) – minvmag) / (maxvmag – minvmag)

‘interpolate to find the % of red, green, and blue

red = Round(LinInterp(relvmag, Range(«legendx»), Range(«legendr»)))

grn = Round(LinInterp(relvmag, Range(«legendx»), Range(«legendg»)))

blu = Round(LinInterp(relvmag, Range(«legendx»), Range(«legendb»)))

‘define the xvalues and yvalues for the chart

xvalues = «=Sheet1!$B$» & i + 4 & «:$C$» & i + 4

yvalues = «=Sheet1!$E$» & i + 4 & «:$F$» & i + 4

‘add the series to the chart

ActiveChart.SeriesCollection.NewSeries

ActiveChart.FullSeriesCollection(i).xvalues = xvalues

ActiveChart.FullSeriesCollection(i).Values = yvalues

ActiveChart.FullSeriesCollection(i).Select

‘apply formatting to the series

With Selection.Format.Line

.EndArrowheadLength = msoArrowheadLengthMedium

.EndArrowheadWidth = msoArrowheadWidthMedium

.EndArrowheadStyle = msoArrowheadTriangle

.ForeColor.RGB = RGB(red, grn, blu)

End With

ActiveChart.ChartType = xlXYScatterLinesNoMarkers

Next i

End Sub

Echa un vistazo a: Los 7 Mejores Programas Para Graficar.

Pensamientos finales

Crear un gráfico vectorial en Excel es un poco complejo, sea en blanco y negro o a color, puesto que hay muchos factores involucrados, comenzando por el cálculo. No obstante, siempre es divertido ver cómo podemos ampliar los límites de Excel para hacer algo nuevo. Esperamos que te haya gustado el tutorial y hayas podido aplicarlo en el trabajo que tenías en mente. Siempre puedes expresar tus opiniones a través de la sección de comentarios. Estaremos siempre por aquí para seguir disipando tus temas con respecto a Excel y otras herramientas indispensables, así que visítanos pronto.

Deja un comentario