次の方法で共有


複数の図形グラフで色を統一する方法

図形以外のグラフの場合、グラフの系列のインデックスに基づいてパレットから新しい色が選択されます。たとえば、グラフの最初の系列は、パレット内の最初の色にマップされます。しかし、この動作は図形グラフでは異なります。図形グラフの場合、パレットの各色は、データセット内のデータ ポイントにマップされます。たとえば、データ ポイント 1 はパレットの最初の色にマップされ、データ ポイント 2 は 2 番目の色にマップされます。

値がないデータ ポイントは、図形グラフに表示されません。またこのようなデータ ポイントは、パレットの色にマップされません。たとえば、ポイント 2 の値が 0 の場合、ポイント 1 にパレットの最初の色がマップされ、ポイント 3 にパレットの 2 番目の色がマップされます。空のポイントを描画する必要がない場合、円グラフのデータセットの空のポイントにパレット色を使用する必要はないので、この方法は便利です。

その弊害として、1 つのレポートに複数の円グラフを表示する場合、同じカテゴリ グループのデータ ポイントが異なる色で表示されることがあります。この問題を解決するには、個々のデータ値ではなく、カテゴリ グループにマップするように個々の色を定義する必要があります。

凡例は系列に接続されるので、系列に指定した色が自動的に凡例に表示されます。

複数の図形グラフで色を統一するには

  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" という文字列を目的の色で置き換える必要があります。"Red" などの名前付きの色を使用することも、"#FFFFFF" (黒) などの色を表す 6 桁の 16 進数値を使用することもできます。3 色以上定義する場合、配列内の色の数が図形グラフのポイントの数に一致するように色の配列を拡張する必要があります。名前付きの色または色の 16 進数表現を含む文字列値のコンマ区切りリストを指定して、配列に新しい色を追加できます。

  3. [OK] をクリックします。

  4. 図形グラフ上を右クリックし、[系列のプロパティ] を選択します。

  5. [塗りつぶし] ([fx]) ボタンをクリックして、Color プロパティの式を編集します。

  6. 次の式を入力します。ここで、"MyCategoryField" は、[カテゴリ グループ] 領域に表示されるフィールドです。

    =Code.GetColor(Fields!MyCategoryField)

関連項目

タスク

傾斜、エンボス、およびテクスチャのスタイルをグラフに追加する方法

パレットを使用してグラフの色を定義する方法

空のポイントをグラフに追加する方法

参照

[塗りつぶし] ([系列のプロパティ] ダイアログ ボックス)

概念

グラフの系列の色の書式設定

図形グラフ

同じデータセットへの複数のデータ領域のリンク

データ領域の入れ子化

その他の技術情報

グラフおよびゲージのレイアウト方法に関するトピック (Reporting Services)