使用ASP.NET MVC3使用动态数据堆叠分组直方图HighCharts图?

时间:2012-01-14 19:02:27

标签: asp.net-mvc json dynamic highcharts series

我想使用HighCharts和ASP.NET MVC3制作堆叠和分组的直方图。 我在HighCharts的网站上找到了这个示例:http://www.highcharts.com/demo/column-stacked-and-grouped

我会在我的控制器中使用JSonResult。 特别是,在上面的例子中,图形系列是在javascript中预定义的,而我会用JSON动态创建它们。

1 个答案:

答案 0 :(得分:1)

使用DonNet.Highcharts,您只能在服务器端轻松创建Highcharts。有堆叠和分组列的示例。这是服务器端代码:

Highcharts chart = new Highcharts("chart")
            .InitChart(new Chart { DefaultSeriesType = ChartTypes.Column })
            .SetTitle(new Title { Text = "Total fruit consumtion, grouped by gender" })
            .SetXAxis(new XAxis { Categories = new[] { "Apples", "Oranges", "Pears", "Grapes", "Bananas" } })
            .SetYAxis(new YAxis
                      {
                          AllowDecimals = false,
                          Min = 0,
                          Title = new YAxisTitle { Text = "Number of fruits" }
                      })
            .SetTooltip(new Tooltip { Formatter = "TooltipFormatter" })
            .SetPlotOptions(new PlotOptions { Column = new PlotOptionsColumn { Stacking = Stackings.Normal } })
            .SetSeries(new[]
                       {
                           new Series
                           {
                               Name = "John",
                               Data = new Data(new object[] { 5, 3, 4, 7, 2 }),
                               Stack = "male"
                           },
                           new Series
                           {
                               Name = "Joe",
                               Data = new Data(new object[] { 3, 4, 4, 2, 5 }),
                               Stack = "male"
                           },
                           new Series
                           {
                               Name = "Jane",
                               Data = new Data(new object[] { 2, 5, 6, 2, 1 }),
                               Stack = "female"
                           },
                           new Series
                           {
                               Name = "Janet",
                               Data = new Data(new object[] { 3, 0, 4, 4, 3 }),
                               Stack = "female"
                           }
                       });

您可以根据需要传递数据。