.Net MVC雷达图多边形?

时间:2014-09-25 19:43:50

标签: asp.net-mvc mschart

我试图在MVC图表助手中创建一个绘图样式为多边形而不是圆形的雷达图表,但我无法在其中的任何位置找到AreaDrawingStyle。

我知道在常规的ASP图表控件中我能做到:

chart1.Series["Default"]["AreaDrawingStyle"] = "Polygon";

但在我的MVC代码中,我有:

Chart myChart = new Chart(width: 600, height: 400)
            .AddTitle("Chart Title")
            .AddSeries(
                name: "Employee",
                chartType: "Radar",
                xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" },
                yValues: new[] { "20", "60", "41", "55", "33" });

有谁知道在哪里找到它?我搜索了很多地方,但我很难找到有关这种特殊类型图表的具体细节。

1 个答案:

答案 0 :(得分:1)

我只需要使我的MVC图表也使用多边形。这个链接帮助了我很多,允许我使用底层的System.Web.UI.DataVisualization.Charting类来设置图表的样式: http://truncatedcodr.wordpress.com/2012/09/18/system-web-helpers-chart-custom-themes/

简而言之,试试这些讨厌的东西......

System.Web.UI.DataVisualization.Charting.ChartArea ca = new System.Web.UI.DataVisualization.Charting.ChartArea("Default");

var chart = new System.Web.UI.DataVisualization.Charting.Chart();
chart.Series.Add("MySeries");
chart.Series["MySeries"]["AreaDrawingStyle"] = "Polygon";

var cs = chart.Serializer;
cs.IsTemplateMode = true;
cs.Format = System.Web.UI.DataVisualization.Charting.SerializationFormat.Xml;
var sb = new System.Text.StringBuilder();
using ( System.Xml.XmlWriter xw = System.Xml.XmlWriter.Create(sb))
{
    cs.Save(xw);
}
string theme = sb.ToString().Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");

System.Web.Helpers.Chart myChart = new System.Web.Helpers.Chart(width: 1024, height: 768, theme:theme);

现在你有了一个全新的名称空间,可以用来格式化你的图表!