如何解决如何使用融合图绘制多线图?
我正在尝试使用融合图以如下方式绘制多线图:
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 举报,一经查实,本站将立刻删除。