我在ASP.NET MVC 3视图中关注ASP.NET Razor Pages guide to generate charts。
我可以生成/显示饼图。但我看不出如何更改饼图幻灯片的颜色 - 或者爆炸片。
我试图引用Chart对象的“Series”集合,但看不到它。
这是我目前的代码段。
<td>
@{
Chart chart =
new Chart(width: 100, height: 100)
.AddSeries(chartType: "Pie", name: "Dafault", xValue: new[] { "Yes", "No" }, yValues: new[] { 70.2m, 29.8m });
chart.Write();
}
</td>
有谁能告诉我我该怎么做?
答案 0 :(得分:5)
Dommer,
我在这里只领先一步,但您可以使用Chart的构造函数中的“themePath”属性创建自定义颜色。它没有很好的文档,但是themePath是一个XML文档的路径,它详细描述了图表。您可以通过对主题中的字符串consts(这是Chart的构造函数中的可选第三个参数)执行intellisense来获取XML的示例。
您可以在以下链接中找到对themePath值和示例XML的引用: http://www.mikepope.com/blog/documents/WebHelpersAPI.html#Chart
现在自定义颜色。主题文件中的XML在Chart元素中显示Palette属性。将其设置为“无”,并添加一个'PaletteCustomColors'属性,其中包含一组RGB值,如下所示:
PaletteCustomColors ='0,0,255; 0,255,0; 255,0,0; 0,255,255; 255,0,255; 255,255,0'
请参阅contsructor中的themePath,如下所示:
string pathName = "~/Content/Test3DTheme.xml";
var chart = new Chart(width: 600, height: 400, themePath: pathName) [add methods here]
这应该这样做。另外,似乎主题协议使用了很多属性,这些属性是System.Web.UI.DataVisualization.Chart中的属性。你可以通过调整和添加/删除属性来试验(正如我现在所做),看看会改变图表外观的因素以及会破坏它的内容。解析器对它接受的属性非常苛刻。
希望这有帮助。
Jim Stanley
Blackboard Connect Inc.
答案 1 :(得分:1)
您正在使用System.Web.Helpers命名空间下的Charting。您需要在System.Web.UI.DataVisualization命名空间下提供完整的图表组件。 这是开始的链接 Charting with MVC 以下是如何使用完整的图表功能和交互性的链接。 Charting with interactivity