Udostępnij za pośrednictwem


Jak Określanie zgodności kolorów na wielu wykresów kształtu (Konstruktora raportów 2.0)

Na wykresach niekształtowych nowy kolor jest wybierany z palety opartej na indeksie serii wykresu.Na przykład pierwsza seria na wykresie będzie mapowana na pierwszy kolor w palecie.Jednak to zachowanie jest inne w przypadku wykresów kształtowych.Na wykresach kształtowych każdy kolor w palecie jest mapowany na punkt danych w zestawie danych.Na przykład punkt danych 1 jest mapowany na pierwszy kolor w palecie, punkt danych 2 jest mapowany na drugi kolor w palecie itd.

Jeśli punkt danych nie ma wartości, nie jest wyświetlany na wykresie kształtowym.Oznacza to, że nie jest również kolorowany.Na przykład jeśli punkt 2 ma wartość zero, punkt 1 zostanie mapowany na pierwszy kolor w palecie, a punkt 3 zostanie zamapowany na drugi kolor w palecie.To podejście jest użyteczne, ponieważ puste punkty w zestawie danych wykresu kołowego nie zużywają niepotrzebnie kolorów palety w sytuacji, gdy nie trzeba rysować pustych punktów.

Efekt uboczny tego podejścia jest taki, że w przypadku wyświetlania w raporcie wielu wykresów kołowych na wykresach mogą być używane różne kolory dla punktów danych należących do tych samych grup kategorii.Aby rozwiązać ten problem, należy zdefiniować pojedyncze kolory, które będą mapowane na grupę kategorii, a nie na poszczególne wartości danych.

Legenda jest połączona z seriami, więc każdy kolor określony dla serii będzie automatycznie widoczny w legendzie.

Aby określić spójne kolory na wielu wykresach kształtowych

  1. Kliknij prawym przyciskiem myszy, poza treść raportu, a następnie wybierz opcję Właściwości raportu.

  2. W Kod, wpisz następujący kod do pola tekstowego.

        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
    

    Uwaga

    Ciągi Color1 itp. należy zastąpić własnymi kolorami.Można użyć kolorów nazwanych, na przykład Red, lub sześciocyfrowych wartości szesnastkowych reprezentujących kolory, takich jak #FFFFFF (kolor czarny).Jeśli zdefiniowano więcej niż trzy kolory, należy rozszerzyć tablicę kolorów, tak aby liczba kolorów w tablicy pasowała do liczby punktów na wykresie kształtowym.Nowe kolory można dodać do tablicy, określając listę rozdzielanych przecinkami wartości ciągów zawierających nazwane kolory lub wartości szesnastkowych reprezentujących kolory.

  3. Click OK.

  4. Kliknij prawym przyciskiem myszy kształt wykresu i wybierz polecenie Właściwości serii.

  5. W Wypełnienie, kliknij przycisk Wyrażenie (FX) przycisk, aby edytować wyrażenie Kolor właściwość.

  6. Wpisz poniższe wyrażenie, gdzie MyCategoryField to pole wyświetlane w strefie upuszczania kategorii:

    =Code.GetColor(Fields!MyCategoryField)