Yo no sé hacer gráficos de dispersión con Excel en los que se identificaran los puntos mediante un color, es necesario programar en visual basic para hacerlo. Imagino que se podrá hacer de forma más elegante pero hoy quería mostraros que esa tarea se puede llevar a cabo mediante macros. Los datos que tenemos tienen un valor para X, un valor para Y y un valor que nos identifica el grupo de cada registro. En el ejemplo que os voy a adjuntar se identifican dentro de la nube de puntos aleatorios 2 grupos marcados con un 0 o un 1, por lo cual tendremos 2 colores para identificar esos puntos. ¿Cómo variamos los colores? Sencillo, una macro recorre punto a punto y pone otro color si pertenece al grupo 1, los que pertenezcan al grupo 0 tendrán el color por defecto. Este color por defecto será el negro y el color para los 1 será el rojo. El código de la macro es:
Sub colores()
‘
‘ colores macro creada por www.analisisydecision.es
On Error GoTo noselecciona
‘Establecemos el color inicial
ActiveChart.SeriesCollection(1).Select
Selection.Format.Fill.ForeColor.RGB = RGB(50, 50, 50)
‘Modificamos aquellos puntos que tienen un 1
para = 0
fila = 2
Do While para = 0
If Cells(fila, 3) = 1 Then ActiveChart.SeriesCollection(1).Points(fila – 1).Format.Fill.ForeColor.RGB = RGB(250, 50, 0)
If Cells(fila, 1) = «» Then para = 1
fila = fila + 1
Loop
noselecciona:
If Err Then MsgBox («Ha de seleccionar el gráfico»)
End Sub
Hay un control de errores por si no tenemos ningún gráfico seleccionado. Una vez seleccionado el gráfico damos a toda la serie el color negro, se emplea escala RGB para asignar colores. Después vamos a recorrer punto por punto hasta que no haya datos y si encontramos un 1 en la variable grupo entonces el RGB será de color rojo. Cuando ya no hay más observaciones el proceso se detiene.
Como es habitual, os enseño a pescar, es evidente que se pueden hacer más grupos, que se pueden seleccionar los colores, etc. Creo que es bastante sencillo si buscamos en el blog y si entendemos esta simple macro. Saludos.
¡Muy buen artículo, gracias por compartir!
es interesante. =)
Eso esta bueno para montar alguna extension de excel he y venderla como un complemento que optimize las graficas =)
Como me encanta R y Excel ajaja pero la verdad luego de haberlo usado un monton me doy cuenta que a menos que esto no se piense profundamente en crear algo concreto y completo para solucionar algun problema no deja de ser academico.
Hola. Felicidades por el blog.
En este caso tal vez no he entendido bien el asunto, pero si en excel se quiere dar colores diferentes a los puntos de un gráfico de dispersión, basta con asignar cada conjunto de puntos a una serie diferente.
Si los datos son:
A B C
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
El gráfico tendrá dos series, formadas por los pares de valores A-B y A-C
Serie A-B: =SERIES(Hoja1!B1;Hoja1!A2:A5;Hoja1!B2:B5;1)
Serie A-C: =SERIES(Hoja1!C1;Hoja1!A2:A5;Hoja1!C2:C5;2)