Compartir a través de


Cómo especificar colores coherentes en varios gráficos de formas

En los gráficos que no son de formas, se selecciona un nuevo color de la paleta en función del índice de series del gráfico. Por ejemplo, la primera serie del gráfico se asignará al primer color de la paleta. Sin embargo, este comportamiento difiere para los gráficos de formas. En los gráficos de formas, cada color de la paleta se asigna a un punto de datos del conjunto de datos. Por ejemplo, el punto de datos 1 se asigna al primer color de la paleta, el punto de datos 2 se asigna al segundo color de la paleta, etc.

Si un punto de datos no tiene ningún valor, se omite de la presentación en un gráfico de formas. Por tanto, el punto de datos no se asigna a un color de la paleta. Por ejemplo, si el punto 2 tiene el valor cero, el punto 1 se asignará al primer color de la paleta y el punto 3 se asignará al segundo color de la paleta. Este método resulta útil porque los puntos vacíos del conjunto de datos de un gráfico circular no usan innecesariamente un color de la paleta cuando no es necesario dibujar el punto vacío.

Como efecto secundario, cuando se muestran varios gráficos circulares en un informe, dichos gráficos pueden mostrar colores diferentes para puntos de datos que tienen la misma agrupación de categoría. Para solucionarlo, deberá definir colores individuales que se asignen a un grupo de categorías en lugar de a valores de datos individuales.

La leyenda está conectada a la serie, de modo que cualquier color que especifique para ésta se mostrará automáticamente en la leyenda.

Para especificar colores coherentes en varios gráficos de formas

  1. Haga clic con el botón secundario fuera del cuerpo del informe y seleccione Propiedades del informe.

  2. En Código, escriba el código siguiente en el cuadro de texto.

    Private colorPalette As String() = {"Color1", "Color2", "Color3"}

    Private count As Integer = 0

    Private mapping As New System.Collections.Hashtable()

    Public Function GetColor(ByVal groupingValue As String) As String

    If mapping.ContainsKey(groupingValue) Then

    Return mapping(groupingValue)

    End If

    Dim c As String = colorPalette(count Mod colorPalette.Length)

    count = count + 1

    mapping.Add(groupingValue, c)

    Return c

    End Function

    Nota

    Deberá reemplazar las cadenas de "Color1" por sus propios colores. Puede usar colores con nombre, por ejemplo "Rojo", o un valor hexadecimal de seis dígitos que represente el color, como "#FFFFFF" para el negro. Si ha definido más de tres colores, deberá extender la matriz de colores para que el número de colores de la matriz coincida con el número de puntos del gráfico de formas. Puede agregar nuevos colores a la matriz especificando una lista de valores de cadena separada por comas que contenga colores con nombre o representaciones hexadecimales de los colores.

  3. Haga clic en Aceptar.

  4. Haga clic con el botón secundario en el gráfico de formas y seleccione Propiedades de la serie.

  5. En Relleno, haga clic en el botón Expresión (fx) para editar la expresión de la propiedad Color.

  6. Escriba la expresión siguiente, donde "MyCategoryField" es el campo que se muestra en el área Grupos de categorías:

    =Code.GetColor(Fields!MyCategoryField)

Vea también

Tasks

Agregar estilos con bisel, relieve y textura a un gráfico

Cómo definir los colores de un gráfico mediante una paleta

Cómo agregar puntos vacíos al gráfico

Referencia

Propiedades de la serie (cuadro de diálogo), Relleno

Conceptos

Dar formato a los colores de las series de un gráfico

Gráficos de formas

Vincular varias regiones de datos al mismo conjunto de datos

Anidar regiones de datos

Otros recursos

Temas de procedimientos de diseño de gráficos y medidores (Reporting Services)