大佬教程收集整理的这篇文章主要介绍了Amcharts SerialChart多线图不同类别值成员路径(Silverlight),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目标在同一图表中渲染多个折线图(假设为2).图表具有不同的x / y值对.对于一个x值,我不知道两个y值.
我正在使用Silverlight.可用的类是serialChart和LineGraph.两个图的数据源相同,并在serialChart级别设置.两个图形(CategoryValueMemberPath)也定义了x轴的属性名称.
正如amCharts文档所建议的那样,我们需要创建具有类别轴(x轴)属性的对象,然后是每个图形的一个属性.我们称它们为“Graph1”和“Graph2”.所以数据源看起来像这样:
List<MyClass> data = new List<MyClass>() { new MyClass() { Category = 0.1,Graph1 = 0.14,Graph2 = ??? },new MyClass() { Category = 0.15,Graph1 = ???,Graph2 = 0.05 },new MyClass() { Category = 0.2,Graph1 = 0.35,new MyClass() { Category = 0.18,Graph2 = 0.12 } ... and so on ... }
问题关于“???”我该怎么办?值?我没有该类别值的该图表的实际值.
如果我没有设置值,则假定默认值为0.0,并且它会向x轴绘制尖峰.如果我设置以前已知的Graph1 / Graph2值,那么它会创建一个水平连接,其中不应该是一个.我基本上改变了导致错误结果的图表.
// AXES // X var xAxis = new AmCharts.ValueAxis(); xAxis.position = "bottom"; xAxis.gridAlpha = 0.1; xAxis.autoGridCount = true; chart.addValueAxis(xAxis); // Y var yAxis = new AmCharts.ValueAxis(); yAxis.position = "left"; yAxis.gridAlpha = 0.1; yAxis.autoGridCount = true; chart.addValueAxis(yAxis);
将所有数据点合并为一个具有公共X轴字段名称的数组(在我的示例中为“x”),对于第1行中的点,将“line1”的属性与其值相加,对于第2行上的点,添加一个’line2’的属性.
例如,您的数据将如下所示:
var chartData = [ {x:0.1,line1:0.25},{x:0.246,line1:0.342},{x:0.12,line2:0.16},{x:0.3,line2:0.485} ];
然后为图表的每一行添加一个“图形”,指定从对象数组中获取值的位置.
// GRAPHS var graph = new AmCharts.AmGraph(); graph.xField = "x"; graph.yField = "line1"; graph.lineAlpha = 1; graph.lineColor = '#FF9E01'; chart.addGraph(graph); var graph2 = new AmCharts.AmGraph(); graph2.xField = "x"; graph2.yField = "line2"; graph.lineAlpha = 1; graph2.lineColor = '#9EFF01'; chart.addGraph(graph2);
我把所有这些都放到了小提琴里 – http://jsfiddle.net/64EWx/
以上是大佬教程为你收集整理的Amcharts SerialChart多线图不同类别值成员路径(Silverlight)全部内容,希望文章能够帮你解决Amcharts SerialChart多线图不同类别值成员路径(Silverlight)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。