首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建折线图的问题,DateTime表示为Y,电压表示为X

创建折线图的问题,DateTime表示为Y,电压表示为X
EN

Stack Overflow用户
提问于 2013-08-14 16:05:47
回答 1查看 117关注 0票数 1

我的任务是清理一段处理图表绘制的代码,这个图表将代表一段时间内voltagekV的变化。我的问题是,到目前为止,它的工作相当糟糕,在标签之间切换了几次后就停止了。

您看,有两个单选按钮,它们用于切换数据点上的标签,当您继续并来回切换这些标签时,应用程序会减慢速度,直到完全停止。

我在这里迷失在这里,因为我自己是一个新手,并且一开始就没有参与创建这个函数,这两个因素加起来就是一个非常困惑的实习生。

我认为问题出在标签之间切换的逻辑上:

代码语言:javascript
运行
复制
                var newSerie = new Series();
                var newSerie2 = new Series();

                newSerie.ChartType = SeriesChartType.Line;
                newSerie.ChartType = SeriesChartType.Line;
                DataPoint dp = _dataPointList[i]; // FROM
                DataPoint dp2 = _dataPointList2[i]; // TO
                newSerie.Color = Color.Orange;
                newSerie2.Color = Color.MidnightBlue;
                string txt1 = _voltageList[i].Endvalue.ToString();
                string txt2 = _voltageList[i].StartValue.ToString();
                dp.Label = txt2;
                dp2.Label = txt1;
                newSerie.Points.Add(dp);
                newSerie2.Points.Add(dp2);
                newSerie.AxisLabel = _voltageList[i].MyStr;
                newSerie2.AxisLabel = _voltageList[i].MyStr;
                _localChart.Series.Add(newSerie);
                _localChart.Series.Add(newSerie2);
                _localChart.Update();
                newSerie.Points.Remove(dp);
                newSerie2.Points.Remove(dp2);

然后对列表中的每个单独的数据点进行循环。

EN

回答 1

Stack Overflow用户

发布于 2013-08-14 16:37:13

看看你的原始帖子,很明显它需要重构。不管是谁写的,他都不喜欢调用函数,这一点是肯定的!

  • 从重构所有与作图无关的东西开始,比如计算给定月份的秒数。将这些东西重构为函数,甚至是帮助器类。
  • 然后重构出其他一些小功能,你很快就会开始将这个庞然大物的方法简化为更易于管理和调试的东西。
  • 我猜切换按钮会添加2个新系列,但我不会看到旧系列被删除。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18226279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档