Vb.net MS图表-如何在一张图表上叠加2年的数据
在winforms应用程序中使用VB.net,我创建了2015年财务数据图表,其中包括与本年度未偿应收相关的4个系列。如图所示,所有功能均正常工作: 现在,用户希望将2014年的相同数据叠加在同一张图表上,以便将今年与前一年进行比较 我尝试了以下方法: 1) 用2014年的数据添加第二个数据源,这似乎不是一个好办法 2) 我曾经尝试过使用2015和2014年数据的单一数据源,并对每个集团系列的数据源进行过滤(不含运气) 这是我的密码:Vb.net MS图表-如何在一张图表上叠加2年的数据,vb.net,winforms,mschart,Vb.net,Winforms,Mschart,在winforms应用程序中使用VB.net,我创建了2015年财务数据图表,其中包括与本年度未偿应收相关的4个系列。如图所示,所有功能均正常工作: 现在,用户希望将2014年的相同数据叠加在同一张图表上,以便将今年与前一年进行比较 我尝试了以下方法: 1) 用2014年的数据添加第二个数据源,这似乎不是一个好办法 2) 我曾经尝试过使用2015和2014年数据的单一数据源,并对每个集团系列的数据源进行过滤(不含运气) 这是我的密码: chtAR.DataSource = Nothi
chtAR.DataSource = Nothing
chtAR.Series.Clear()
chtAR.DataSource = DS2.Tables(CurrentYear)
chtAR.ChartAreas(0).AxisX.Interval = 2
chtAR.ChartAreas(0).AxisY.Interval = 250000
chtAR.ChartAreas(0).AxisX.Maximum = 52
'*** Current Year ***
chtAR.Series.Add("AvgAR$")
chtAR.Series("AvgAR$").LegendText = CurrentYear + " Avg A/R $"
chtAR.Series("AvgAR$").ChartType = DataVisualization.Charting.SeriesChartType.Line
chtAR.Series("AvgAR$").BorderWidth = 3
chtAR.Series("AvgAR$").Color = Color.Green
chtAR.Series("AvgAR$").XValueMember = DS2.Tables(CurrentYear).Columns("WeekNo").ToString
chtAR.Series("AvgAR$").YValueMembers = DS2.Tables(CurrentYear).Columns("AVG A/R").ToString
chtAR.Series.Add("AvgAR$PastDue")
chtAR.Series("AvgAR$PastDue").LegendText = CurrentYear + " Avg A/R Past Due $"
chtAR.Series("AvgAR$PastDue").ChartType = DataVisualization.Charting.SeriesChartType.Line
chtAR.Series("AvgAR$PastDue").BorderWidth = 3
chtAR.Series("AvgAR$PastDue").Color = Color.DarkBlue
chtAR.Series("AvgAR$PastDue").XValueMember = DS2.Tables(CurrentYear).Columns("WeekNo").ToString
chtAR.Series("AvgAR$PastDue").YValueMembers = DS2.Tables(CurrentYear).Columns("AVG Past Due A/R").ToString
chtAR.Series.Add("TotalAR$")
chtAR.Series("TotalAR$").LegendText = CurrentYear + " total A/R $"
chtAR.Series("TotalAR$").ChartType = DataVisualization.Charting.SeriesChartType.Line
chtAR.Series("TotalAR$").BorderWidth = 3
chtAR.Series("TotalAR$").Color = Color.LightGreen
chtAR.Series("TotalAR$").XValueMember = DS2.Tables(CurrentYear).Columns("WeekNo").ToString
chtAR.Series("TotalAR$").YValueMembers = DS2.Tables(CurrentYear).Columns("CurrentAR").ToString
chtAR.Series.Add("PastDueAR$")
chtAR.Series("PastDueAR$").LegendText = CurrentYear + " Past Due A/R $"
chtAR.Series("PastDueAR$").ChartType = DataVisualization.Charting.SeriesChartType.Line
chtAR.Series("PastDueAR$").BorderWidth = 3
chtAR.Series("PastDueAR$").Color = Color.LightBlue
chtAR.Series("PastDueAR$").XValueMember = DS2.Tables(CurrentYear).Columns("WeekNo").ToString
chtAR.Series("PastDueAR$").YValueMembers = DS2.Tables(CurrentYear).Columns("PastDueAR").ToString
有人对我应该如何处理这件事有什么建议吗
像Telerik这样的东西是个不错的选择吗
谢谢 如果有人感兴趣的话,我想出来了 我的解决方案是更改查询返回的数据布局 数据库表如下所示: 日期| WeekNo | CurrentA/R | PastDueAR |等| 我编写了一个丑陋的查询(包含多个子查询),返回如下表: WeekNo |过去一年当前应收|过去一年应收|过去一年应付账款|过去一年应付账款|等等 这使我能够拥有一个包含我所需的所有系列信息的数据源 新版本如下所示: