也许您很久以前就找到了答案,但考虑到我在搜索为图表条形着色的方法时在这个主题上发现的很少,我认为当它打开时在此处发布解决方案可能会很有用由我决定。
System.Web.Helpers.Chart的实现似乎与System.Web.UI.DataVisualization.Charting.Chart密切相关。鉴于此,我设法找到了一些关于如何配置“主题”XML 属性的线索:
public const String CHARTS_THEME = @"<Chart BackColor=""#EFEFEF"" BackGradientStyle=""TopBottom"" BorderColor=""#A0A0A0"" BorderWidth=""1"" Palette=""None"" PaletteCustomColors=""#ffcc00"" >
<ChartAreas>
<ChartArea Name=""Default"" _Template_=""All"" BackColor=""Transparent"" BackSecondaryColor=""White"" BorderWidth=""1"" BorderColor=""#A0A0A0"" BorderDashStyle=""Solid"" >
<AxisY>
<MajorGrid Interval=""Auto"" LineColor=""64, 64, 64, 64"" />
<LabelStyle Font=""Verdana, 10pt"" />
</AxisY>
<AxisX LineColor=""#000000"">
<MajorGrid Interval=""Auto"" LineColor=""64, 64, 64, 64"" />
<LabelStyle Font=""Verdana, 10pt"" />
</AxisX>
</ChartArea>
</ChartAreas>
<Legends>
<Legend _Template_=""All"" BackColor=""Transparent"" Docking=""Bottom"" Font=""Verdana, 10pt, style=Plain"" LegendStyle=""Row"">
</Legend>
</Legends>
</Chart>";
这一点的关键是定义你自己的PaletteCustomColors(我只有一种颜色)。要完成这项工作,必须将 Palette 属性设置为 None。
最后,只需在创建图表实例时使用您的主题:
Chart chart = new Chart(width: 600, height: 200, theme:CHARTS_THEME);
还可以查看 System.Web.UI.DataVisualization.Charting.Chart 的 msdn 文档以发现其他方式来设置图表样式:
http://msdn.microsoft.com/en-us/library/dd467201.aspx