微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用融合图绘制多线图?

如何解决如何使用融合图绘制多线图?

我正在尝试使用融合图以如下方式绘制多线图:

private void GerarGraficoVarejo(string device)
        {
            DataTable ChartData2 = new DataTable();
            DataTable ChartData3 = new DataTable();
            DataTable ChartData4 = new DataTable();
            // Add columns to data table
            ChartData2.Columns.Add("Data",typeof(System.String));
            ChartData2.Columns.Add("Preço",typeof(System.Double));
            ChartData3.Columns.Add("Data",typeof(System.String));
            ChartData3.Columns.Add("Preço",typeof(System.Double));
            ChartData4.Columns.Add("Data",typeof(System.String));
            ChartData4.Columns.Add("Preço",typeof(System.Double));
            List<Data> datas = _repositorioVivoPreco.recuperarDatasVarejo();
            List<VivoPreco> v = _repositorioVivoPreco.ObterValoresMagalu(device,datas);
            List<VivoPreco> v2 = _repositorioVivoPreco.ObterValoresIplace(device,datas);
            List<VivoPreco> v3 = _repositorioVivoPreco.ObterValoresFastshop(device,datas);
            
            for (int i = 0; i < v.Count; i++)
            {
                ChartData2.Rows.Add(v[i].DataStrVarejo,v[i].ValorAparelhoVarejo);
            }
            for (int i = 0; i < v2.Count; i++)
            {
                ChartData3.Rows.Add(v2[i].DataStrVarejo,v2[i].ValorAparelhoVarejo);
            }
            for (int i = 0; i < v3.Count; i++)
            {
                ChartData4.Rows.Add(v3[i].DataStrVarejo,v3[i].ValorAparelhoVarejo);
            }
            
            StaticSource source2 = new StaticSource(ChartData2);
            StaticSource source3 = new StaticSource(ChartData3);
            StaticSource source4 = new StaticSource(ChartData4);
                
            DataModel model2 = new DataModel();
                
            model2.DataSources.Add(source2);
            model2.DataSources.Add(source3);
            model2.DataSources.Add(source4);
            Charts.LineChart column2 = new Charts.LineChart("fourthChart");

            // Set the width and the height of the chart
            column2.Width.Pixel(400);
            column2.Height.Pixel(400);
            column2.Data.source = model2;

            // Set Chart Caption
            column2.Caption.Text = "Comparativo de Preços";                                   
            column2.Legend.Show = false;                   
            column2.XAxis.Text = "Comparativo Magalu";
            column2.YAxis.Text = "Vivo";
            column2.Scrollable = true;
            column2.ThemeName = FusionChartsTheme.ThemeName.FUSION;
            ViewData["GraficoVarejo"] = column2.Render();
        }

据我了解,每一行都是不同的数据源,还是我错了?因为只画了一条线。如何在图表中添加更多的折线?

解决方法

FusionCharts.NET尚未处于活跃开发中,您可以使用FusionCharts ASP.NET包装器进行检查。

这将为您提供创建Chart对象的准备,您可以在其中直接传递图表类型的JavaScript别名以及该图表类型并检查指定格式的数据源。

Chart newChart = new Chart("msline","simplechart","600","400","jsonurl","data.json");
    chart.Text = newChart.Render();

data.json将包含为多系列折线图类型指定的数据源。

如下所述。

{
"chart": {
    "caption": "Number of visitors last week","subCaption": "Bakersfield Central vs Los Angeles Topanga","xAxisName": "Day","theme": "fusion"
},"categories": [
    {
        "category": [
            {
                "label": "Mon"
            },{
                "label": "Tue"
            },{
                "label": "Wed"
            },{
                "vline": "true","lineposition": "0","color": "#6baa01","labelHAlign": "center","labelPosition": "0","label": "National holiday","dashed": "1"
            },{
                "label": "Thu"
            },{
                "label": "Fri"
            },{
                "label": "Sat"
            },{
                "label": "Sun"
            }
        ]
    }
],"dataset": [
    {
        "seriesname": "Bakersfield Central","data": [
            {
                "value": "15123"
            },{
                "value": "14233"
            },{
                "value": "25507"
            },{
                "value": "9110"
            },{
                "value": "15529"
            },{
                "value": "20803"
            },{
                "value": "19202"
            }
        ]
    },{
        "seriesname": "Los Angeles Topanga","data": [
            {
                "value": "13400"
            },{
                "value": "12800"
            },{
                "value": "22800"
            },{
                "value": "12400"
            },{
                "value": "15800"
            },{
                "value": "19800"
            },{
                "value": "21800"
            }
        ]
    }
],"trendlines": [
    {
        "line": [
            {
                "startvalue": "17022","valueOnRight": "1","displayvalue": "Average"
            }
        ]
    }
]

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。