C#Linq将数据转换为图表的正确格式

时间:2014-11-25 11:53:08

标签: c# .net linq highcharts

我正在尝试以下列格式为我的DOTNET.highcharts图表提供数据。

series: [{
        name: 'Tokyo',
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

    }, {
        name: 'New York',
        data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

我不确定应该怎么做。这是我在下面用来从我的数据库中获取数据的Linq。

var data = db.sp_chart_type();

            List<string> x_Axis = new List<string>();
            List<object[]> y_Axis = new List<object[]>();

            foreach (var d in data)
            {
                x_Axis.Add(d.eis_code);
                y_Axis.Add(new object[] { d.type, d.gcount });            
            }

            var xArray = x_Axis.Distinct().ToArray();                

            render_Chart(xArray, y_Axis);

这样输出数据

series: [{ data: [['a', 49], ['b', 3], ['a', 33], ['b', 0]

有人会建议我如何获取我发布的格式的数据吗?如果他们有比上述更好的方法,请提供其他建议。

编辑:render_Chart&amp;高调澄清

    protected void render_Chart(string[] xAxis, List<object[]> yAxis)
    {
        Highcharts chart = new Highcharts("chart")
            .InitChart(new Chart
            {
                DefaultSeriesType = ChartTypes.Column
            })
            .SetTitle(new Title
            {
                Text = "Title"
            })
            .SetSubtitle(new Subtitle
            {
                Text = "Subtitle"
            })
            .SetXAxis(new XAxis
            {
                Categories = xAxis
            })
            .SetPlotOptions(new PlotOptions
            {
                Column = new PlotOptionsColumn
                {
                    DataLabels = new PlotOptionsColumnDataLabels
                    {
                        Enabled = true,
                        Formatter = "function() { return this.point.y; }"
                    }
                }
            })
            .SetLegend(new Legend
            {
                Enabled = false
            })
            .SetSeries(new Series
            {
                Data = new DotNet.Highcharts.Helpers.Data(yAxis.ToArray())
            })
            .SetCredits(new Credits
            {
                Enabled = false
            });

        ltrChart.Text = chart.ToHtmlString();
    }

由于

0 个答案:

没有答案