Как задать согласованные цвета для нескольких фигурных диаграмм

На нефигурных диаграммах новые цвета выбираются из палитры, которая создана на основе индекса рядов в диаграмме. Например, первый ряд в диаграмме сопоставляется с первым цветом палитры. Однако в фигурных диаграммах используется другой принцип. Каждый цвет палитры в них сопоставляется с точкой данных в наборе данных. Так, точка данных 1 сопоставляется с первым цветом палитры, точка данных 2 — со вторым цветом палитры и т. д.

Если точка данных не имеет значения, то она не отображается на фигурной диаграмме. В результате такая точка данных не сопоставляется с цветом палитры. Например, если значение точки 2 равно нулю, то точка 1 будет сопоставляться с первым цветом палитры, а точка 3 — со вторым цветом палитры. Такой подход удобен, поскольку пустые точки набора данных круговой диаграммы не обязательно используют палитру цветов, когда нет необходимости рисовать пустую точку.

В качестве побочного эффекта при отображении в отчете нескольких круговых диаграмм точки данных одной и той же категории группирования, расположенные в этих диаграммах, могут быть окрашены в разные цвета. Для устранения этой проблемы необходимо задавать отдельные цвета, соответствующие группе категорий, а не отдельным значениям данных.

Условные обозначения связаны с рядом, поэтому любой цвет, заданный пользователем для ряда, будет автоматически отображаться в условных обозначениях.

Задание согласованных цветов в нескольких фигурных диаграммах

  1. Щелкните правой кнопкой мыши область за пределами текста отчета и выберите пункт Свойства отчета.

  2. В текстовом поле Код введите следующий код.

    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

    ПримечаниеПримечание

    Строки «Color1» пользователю следует заменить собственными цветами. Можно использовать именованные цвета, например «Красный», или представляющие тот или иной цвет шестиразрядные шестнадцатеричные значения, например «#FFFFFF» для черного цвета. Если задано более трех цветов, то массив цветов необходимо расширить, чтобы количество цветов в массиве соответствовало числу точек в фигурной диаграмме. В массив можно добавлять новые цвета. Для этого нужно составить разделенный запятыми список строковых значений с именованными цветами или шестнадцатеричными представлениями цветов.

  3. Нажмите кнопку ОК.

  4. Щелкните правой кнопкой мыши на фигурной диаграмме и выберите пункт Свойства ряда.

  5. В меню Заливка нажмите кнопку Выражение (fx) и измените выражение для свойства Цвет.

  6. Введите следующее предложение, где «MyCategoryField» — это поле, отображаемое в области добавления категории:

    =Code.GetColor(Fields!MyCategoryField)

См. также

Задания

Справочник

Основные понятия

Другие ресурсы