MsChart选择部分数据并更新图表然后我使用DGV从这个数据根据结果更新“图表”,图表只包含折线图。我想要完成的是允许用户选择该数据的一部分,我拖动它的开始和结束,放大就像你只想启用x轴,并根据该选择更新图表,计算该数据子集的平均值。使用chart1.ChartAreas["ChartArea1"].CursorX.IsUserEnabled=Enabled;chart1.ChartAreas["ChartArea1"].CursorX.IsUserSelectionEnabled=已启用;这允许我选择区域并放大,但??我不确定如何根据选择进行操作,而不仅仅是缩放以实际更新数据。为了允许很好的缩放,您应该将此行添加到您显示的两行中:chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Zoomable=true;这是计算可见点平均函数的第一个Y值的函数:privatevoidchart1_AxisViewChanged(objectsender,ViewEventArgse){//对于测试,结果显示在表单的标题中Text="AVG:"+GetAverage(chart1,chart1.Series[0],e);}doubleGetAverage(Chartchart,Seriesseries,ViewEventArgse){ChartAreaCA=e.ChartArea;//短..系列S=系列;//引用DataPointpt0=S.Points.Select(x=>x).Where(x=>x.XValue>=CA.AxisX.ScaleView.ViewMinimum).DefaultIfEmpty(S.Points.First()).First();DataPointpt1=S.Points.Select(x=>x).Where(x=>x.XValue注意ViewEventArgs参数提供了View的位置和大小的值,但是这些只是数据的XValues点而不是它们的索引;所以我们需要从左边搜索第一个点,从右边搜索最后一个点Pt.Update-比默认的CursorX.IntervalType更细化。在这种情况下,你只需要适应数据的规模,例如:CA.CursorX.IntervalType=DateTimeIntervalType.Milliseconds;以上就是C#学习教程:MsChart选取部分数据更新全部内容的图表分享,如果对大家有用还有需要了解更多C#学习教程的,希望大家多多关注————本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
