SSRS:堆叠条形图类别轴的自定义颜色
SSRS: Custom colors for the Category axis of a stacked bar chart
我有一个只有 5 个类别的堆积条形图(但类别的值每年都在变化,它是一个滑动的 5 年 window)。
我已成功将条形图定制成我想要的颜色。
但是现在我想把每个Category的标签都设置成和自定义条形颜色一样的颜色。
有办法吗?
您可以为此使用自定义代码。
在报表属性中 | 代码,您可以粘贴以下代码:
Private colourPalette As String() = {"#418CF0", "#FCB441", "#DF3A02", "#056492", "#BFBFBF", "#1A3B69", "#FFE382", "#129CDD", "#CA6B4B", "#005CDB", "#F3D288", "#506381", "#F1B9A8", "#E0830A", "#7893BE"}
Private count As Integer = 0
Private mapping As New System.Collections.Hashtable()
Public Function GetColour(ByVal groupingValue As String) As String
If mapping.ContainsKey(groupingValue) Then
Return mapping(groupingValue)
End If
Dim c As String = colourPalette(count Mod colourPalette.Length)
count = count + 1
mapping.Add(groupingValue, c)
Return c
End Function
这将为您提供柔和调色板的选项。如果您想要其他颜色,只需将十六进制颜色代码替换为您选择的值即可。
要使用它,只需使用以下表达式:
=Code.GetColour(Fields!Thingy.Value)
在您的系列和标签填充表达式中使用它。这将确保两者显示相同的颜色。如果您有多个具有相同值的图表,这也将确保多个图表中的相同数据系列始终具有相同的颜色。
我有一个只有 5 个类别的堆积条形图(但类别的值每年都在变化,它是一个滑动的 5 年 window)。
我已成功将条形图定制成我想要的颜色。
但是现在我想把每个Category的标签都设置成和自定义条形颜色一样的颜色。
有办法吗?
您可以为此使用自定义代码。
在报表属性中 | 代码,您可以粘贴以下代码:
Private colourPalette As String() = {"#418CF0", "#FCB441", "#DF3A02", "#056492", "#BFBFBF", "#1A3B69", "#FFE382", "#129CDD", "#CA6B4B", "#005CDB", "#F3D288", "#506381", "#F1B9A8", "#E0830A", "#7893BE"}
Private count As Integer = 0
Private mapping As New System.Collections.Hashtable()
Public Function GetColour(ByVal groupingValue As String) As String
If mapping.ContainsKey(groupingValue) Then
Return mapping(groupingValue)
End If
Dim c As String = colourPalette(count Mod colourPalette.Length)
count = count + 1
mapping.Add(groupingValue, c)
Return c
End Function
这将为您提供柔和调色板的选项。如果您想要其他颜色,只需将十六进制颜色代码替换为您选择的值即可。
要使用它,只需使用以下表达式:
=Code.GetColour(Fields!Thingy.Value)
在您的系列和标签填充表达式中使用它。这将确保两者显示相同的颜色。如果您有多个具有相同值的图表,这也将确保多个图表中的相同数据系列始终具有相同的颜色。