4

我正在按照ASP.NET Razor Pages 指南在 ASP.NET MVC 3 视图中生成图表。

我可以生成/显示饼图。但我看不到如何更改饼图幻灯片的颜色 - 或爆炸切片。

我试图引用 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>

谁能告诉我我会怎么做?

4

2 回答 2

4

多默尔,

我在这里只比你领先一步,但你可以使用 Chart 构造函数中的“themePath”属性创建自定义颜色。它没有很好的文档记录,但 themePath 是详细描述图表的 XML 文档的路径。您可以通过对 Theme 中的字符串 consts 执行智能感知来获取 XML 样本(这是 Chart 构造函数中的可选第三个参数)。

您可以在以下链接中找到对 themePath 值和示例 XML 的引用:http: //www.mikepope.com/blog/documents/WebHelpersAPI.html#Chart

现在来自定义颜色。主题文件中的 XML 在 Chart 元素中显示 Palette 属性。将其设置为“无”,并添加一个带有 RGB 值集合的“PaletteCustomColors”属性,如下所示:

调色板自定义颜色='0,0,255; 0,255,0; 255,0,0; 0,255,255; 255,0,255; 255,255,0'

像这样在构造器中引用您的主题路径:

string pathName = "~/Content/Test3DTheme.xml";
var chart = new Chart(width: 600, height: 400, themePath: pathName) [add methods here]

这应该这样做。顺便说一句,主题化协议似乎使用了许多 System.Web.UI.DataVisualization.Chart 中的属性。您可以通过调整和添加/删除属性来进行实验(就像我目前所做的那样),看看什么会改变图表的外观以及什么会破坏它。解析器对其接受的属性非常挑剔。

希望这可以帮助。

吉姆·斯坦利

黑板连接公司

于 2011-06-09T23:34:56.737 回答
2

您正在使用 System.Web.Helpers 命名空间下的 Charting。您将需要在 System.Web.UI.DataVisualization 命名空间下提供完整的图表组件。这是开始 使用 MVC 绘制图表的链接 这是关于如何使用具有交互性的完整图表功能的链接。 具有交互性的图表

于 2011-03-02T01:36:02.547 回答