miércoles, 5 de septiembre de 2012

Gráfico de tipo velocímetro

Si Excel tuviera en su arsenal de gráficos uno de tipo velocímetro no estaría escribiendo este artículo. Pero no lo tiene y esto me brinda la posibilidad de mostrar cómo se crea el siguiente:

En C2 pondremos el valor que debe mostrar la aguja del gráfico. En el rango B4:C9 están los intervalos de velocidad que nos servirán para colorear el gráfico. Los datos que están escritos en gris son valores auxiliares.

Vamos a realizar el gráfico superponiendo unas formas sobre otras, como las transparencias que se emplean en los libros de anatomía ¿se siguen usando? para ir montando las diferentes partes del cuerpo humano.

Las guías para montar este puzzle serán las cuadrículas de la hoja, pero necesitamos que estén más juntas. Para ello, seleccionamos las columnas D:X. Con el botón derecho del ratón mostramos el menú contextual y elegimos Ancho de columna. El ejemplo está hecho con un ancho de 2,71.

El fondo del gráfico será un rectángulo coloreado. Para dibujarlo, accedemos a Insertar + Formas + Rectángulo y, manteniendo pulsada la tecla Alt, trazamos un rectángulo que ocupe el rango E2:W17. Ahora, hacemos clic con el botón derecho en el interior del rectángulo y elegimos Formato de forma. Ponemos un relleno degradado de color verde y eliminamos el borde.

El siguiente paso consiste en crear la tabla de datos con la que construiremos el cuerpo del gráfico. Lo haremos en B11:C17.

En C12:
=C5    [Resultado: 600]

En C13:
=C6-C5    [Resultado: 300]

Extendemos la fórmula hasta la fila 16. En la fila 17 pondremos la suma:

En C17:
=SUMA(C12:C16)    [Resultado: 3.000]

Seleccionamos B12:C17 y, en el grupo Gráficos del menú Insertar, accedemos a Otros + Anillo. Borramos las leyendas y, con la tecla Alt pulsada, ajustamos el gráfico hasta colocarlo en F2:V21.

Debemos girar el gráfico 270º para que el sector marrón, que corresponde a la serie Auxiliar, quede en la parte inferior. Para ello, hacemos doble clic en cualquier sector del gráfico y, en Opciones de serie, ponemos un giro de 270º.

La mencionada serie Auxiliar ocupa la mitad del gráfico. Esto es debido a que en la celda C17 hemos sumado todos los valores de las celdas superiores; es decir, esta celda suma tanto como todas las demás celdas juntas. Lo hemos hecho así porque queremos crear un gráfico semicircular y, al tener medio gráfico por debajo, bastará con que lo ocultemos eliminando el relleno y el borde.

Hacemos dos veces clic (¡cuidado!, no hay que hacer doble clic) en la zona marrón (serie Auxiliar). Una vez seleccionada la serie, hacemos doble clic sobre la misma. Entraremos en el cuadro de diálogo anterior y todo lo que hagamos afectará únicamente a la serie seleccionada. Quitando el relleno y el color del borde, el gráfico quedará así:

Repetimos estos pasos con el resto de las series pero teniendo la precaución de quitar el borde y poner el color adecuado a cada caso.

Debemos hacer que el Área del gráfico y el Área de trazado sean transparentes. Para ello, hacemos doble clic en el Área del gráfico y quitamos el relleno y el borde.

El anillo es demasiado grueso y vamos a adelgazarlo. Doble clic en cualquier serie del gráfico para entrar en la ventana Formato de serie de datos. En Opciones de serie, ponemos 65% en el apartado Tamaño del agujero del anillo.

Una vez creado el cuerpo principal del gráfico vamos a poner los rótulos que identifiquen dónde empieza y dónde acaba cada serie. Podríamos hacerlo poniendo manualmente unos cuadros de textos con sus correspondientes rótulos, pero este método tiene el inconveniente de que quedarían descolocados cuando cambiáramos los intervalos de las series. Debemos hacerlo de forma que se coloquen automáticamente en sus correspondientes posiciones según los valores de la tabla B4:C9. Para ello, crearemos una nueva tabla de datos y, con ella, un gráfico circular. Pero, vayamos paso a paso.

Para evitar molestias, arrastramos el gráfico que acabamos de crear a una posición que no nos moleste; por ejemplo, a la derecha de la columna AA.

Escribimos el número 50 en las celdas siguientes: Z3, Z5, Z7, Z9, Z11 y Z13. En el resto de las celdas de la columna Z debemos poner los mismos valores que los del rango C12:C16. En Z14 sumaremos toda la columna.

En Z4:
=C12

En Z6:
=C13

En Z8:
=C14

En Z10:
=C15

En Z12:
=C16

En Z14:
=SUMA(Z3:Z13)    [Resultado: 3.300]

Posteriormente, sustituiremos todos los valores que hemos puesto en Z3, Z5, Z7, Z9, Z11 y Z13 por ceros. Pero este paso lo explicaremos en su momento.

Seleccionamos Y3:Z14 y, en el grupo Gráficos de la pestaña Insertar, elegimos Circular + Circular. Quitamos la leyenda y, manteniendo pulsada la tecla Alt, arrastramos y redimensionamos el gráfico hasta que ocupe el rango E1:W22.

Hacemos doble clic en cualquier sector para girar el gráfico y eliminar el relleno. En Opciones de serie ponemos un giro de 270º. En Relleno, elegimos Sin relleno y en Color de borde, seleccionamos Sin línea.

Los sectores más estrechos (los de valor 50) nos servirán para poner los rótulos de los intervalos de cada color. Para ello, estos sectores deben mostrar la Etiqueta de datos en el exterior. Se hace así: Seleccionamos un sector haciendo dos veces clic (no doble clic) sobre él y elegimos Herramientas de gráficos + Presentación + Etiquetas de datos + Extremo externo.

Esto debemos hacerlo con los seis sectores de tamaño 50. El resultado será:

Ahora, debemos sustituir el número 50 de cada sector por el correspondiente a la zona en la que está. El primer sector (inferior izquierdo) debe ser cero; por tanto, borramos manualmente el 50 y ponemos en su lugar un 0.

Los otros 5 sectores restantes deben mostrar los valores que hay en C5:C9. Lo haremos así: seleccionamos el rótulo que contiene el número 50 del segundo sector de la izquierda y, en la barra de fórmulas, escribimos: =Hoja1!$C$5. En el tercer sector la fórmula será: =Hoja1!$C$6. Y así sucesivamente.

Una vez puestas todas las fórmulas, debemos sustituir los 50 de Z3, Z5, Z7, Z9, Z11 y Z13 por 0. Si desde el primer momento los sectores hubieran tenido valor 0, habría sido más difícil seleccionarlos y poner las etiquetas de datos. Esta es la razón del extraño rodeo que hemos dado. Pulsando fuera del gráfico, la hoja se verá así:

Hacemos doble clic en el Área del gráfico y quitamos el relleno y el borde. A continuación, arrastramos el gráfico a una zona vacía para seguir trabajando.

Es el momento de ponerle una aguja al gráfico. La crearemos con otro gráfico circular, pero antes necesitamos la tabla de datos para construirlo. Estará en Y16:Z19.

En Z17:
=C2    [Resultado: 1.600]

En Z18:
50     [Más adelante este valor lo sustituiremos por un cero]

En Z19:
=2*C9-Z18-Z17    [Resultado: 4.350]

Seleccionamos Y17:Z19 y, en el grupo Gráficos de la pestaña Insertar, elegimos Circular + Circular. Quitamos la leyenda y, manteniendo pulsada la tecla Alt, arrastramos y redimensionamos el gráfico hasta que ocupe el rango G3:U20.

Del mismo modo que hemos hecho en el caso anterior, giramos el gráfico 270º, eliminamos el relleno y el borde de todos los sectores y le ponemos la Etiqueta de datos en el Extremos externo al sector de tamaño 50. Hacemos clic en el 50 de la Etiqueta de datos y, en la barra de fórmulas, ponemos la fórmula siguiente: =Hoja1!$C$2

Hacemos dos veces clic (no doble clic) en el sector de tamaño 50 y, una vez seleccionado, hacemos doble clic. En la ventana Formato de puntos de datos, ponemos un Relleno sólido de color negro, un Color de borde con Línea sólida de color negro y un Estilo de borde con Ancho de 2 puntos. Volvemos a hacer doble clic en el Área del gráfico y eliminamos el relleno y el borde.

El último paso consiste en sustituir el 50 de la celda Z18 por un cero. El resultado será:

Ya sólo queda montarlo todo y poner los últimos detalles para adornar el gráfico.

Con la tecla Alt pulsada, arrastramos el gráfico de sectores (el primero que hemos hecho) a la posición F2:V21. Del mismo modo, arrastramos el gráfico de los números a E1:W22.

Ponemos dos cuadros de texto con las leyendas que correspondan a nuestro caso. Manteniendo pulsada la tecla Mayúscula, con Insertar + Formas + Elipse, dibujamos un círculo que simule el eje donde gira la aguja. Le ponemos el tamaño y los efectos de color que queramos y el ejercicio quedará terminado.

Podemos comprobar que cambiando el valor de C2 la aguja se mueve a la posición correcta. También conviene comprobar que cambiando los intervalos C5:C9 las diferentes zonas coloreadas se amplían o reducen adecuadamente y las etiquetas de datos se colocan en su sitio.



7 comentarios:

  1. Te sigo desde hace un tiempo, quedo impresionado con tus aportes, Soy medio nuevo en esto de excel y me maravillo con tus aportes... muchas gracias por tu generosidad.
    Saludos desde Argentina

    ResponderEliminar
  2. Excelente compadre!!!

    ResponderEliminar
  3. Sos un capo... que ingenio para llegar. Estaba buscando algo porque Excel como decis no lo tiene. Que te llame Bill para desarrollarle algo.
    Gracias por la ayuda.

    ResponderEliminar
  4. Te felicito por tan espectacular investigación.

    ResponderEliminar
  5. si el fondo es oscuro las letras deben ser blancas

    ResponderEliminar
  6. Buenas! Enhorabuena por el trabajo, lo he puesto en práctica, pero hay un detalle de formato muy tonto que no he sabido particularizar, el fondo del velocímetro es de color verde, como podría cambiar ese color?? he intentado dentro de opciones del gráfico...pero siempre pone "sin relleno"...no se donde cambiarlo.
    Gracias. Saludos

    ResponderEliminar
  7. Releyendo detenidamente ya encontré la solución! selecciono el panel de para hacer visibles las "formas" de la hoja de calculo, busco donde está el Rectángulo y luego de doy a herramientas de dibujo, formato, relleno de forma, degradado....ahí le cambio el color! MUY BUEN TUTORIAL, mil gracias

    ResponderEliminar