我无法将zedgraph分成几个部分,我希望能够监控我的运行会话,并且我想尝试构建一个显示我的结果的程序,主要是在图表上加速。从文本文件中读取结果,然后将其存储在int列表和zedgraph的pointparlist中。我希望能够将图形分为三个部分,前15%是运行的预热部分,中间(70%)是主要运行会话,最后第三个是冷却会话(15%) 。而不是在一个图表上绘制整个会话,并手动尝试找出我的热身结束的地方,我想知道是否可以在热身和中间之后放置一条垂直线。
我非常感谢您提供的任何建议或帮助,我已经尝试了几天,但如果有意义的话,我无法将我的意图用于Google搜索。
分割存储速度值的int列表是否更好的方法在绘制图表之前?我愿意就如何解决这个问题提出建议。再次感谢很多人。
答案 0 :(得分:1)
简单的方法是绘制两条垂直线,然后它变成3个部分。这是代码:
PointPairList warmUpList = new PointPairList();
LineItem warmUpCurve = new LineItem("warmUpCurve");
PointPairList coolingDownList = new PointPairList();
LineItem coolingDownCurve = new LineItem("coolingDownCurve");
private void Form1_Load(object sender, EventArgs e)
{
// Create an instance of Graph Pane
GraphPane myPane = zedGraphControl1.GraphPane;
// x & y variables to store the axis values
double xVal;
double yVal;
// Clear the previous values if any
warmUpList.Clear();
coolingDownList.Clear();
myPane.Legend.IsVisible = false;
// Create a list using the above x & y values
warmUpList.Add(myPane.XAxis.Scale.Min + myPane.XAxis.Scale.MajorStep*1.5 , myPane.YAxis.Scale.Max);
warmUpList.Add(myPane.XAxis.Scale.Min + myPane.XAxis.Scale.MajorStep * 1.5, myPane.YAxis.Scale.Min);
coolingDownList.Add(myPane.XAxis.Scale.Max - myPane.XAxis.Scale.MajorStep * 1.5, myPane.YAxis.Scale.Max);
coolingDownList.Add(myPane.XAxis.Scale.Max - myPane.XAxis.Scale.MajorStep * 1.5, myPane.YAxis.Scale.Min);
// Add the curves
warmUpCurve = myPane.AddCurve(" ", warmUpList, Color.Red, SymbolType.None);
coolingDownCurve = myPane.AddCurve(" ", coolingDownList, Color.Red, SymbolType.None);
TextObj WarmUpTextObj = new TextObj("Warm Up", myPane.XAxis.Scale.Min + myPane.XAxis.Scale.MajorStep, myPane.YAxis.Scale.Max - myPane.YAxis.Scale.MajorStep);
TextObj RunningTextObj = new TextObj("Running Test", myPane.XAxis.Scale.Max/2, myPane.YAxis.Scale.Max - myPane.YAxis.Scale.MajorStep);
TextObj CoolingDownTextObj = new TextObj("Cooling Down", myPane.XAxis.Scale.Max - myPane.XAxis.Scale.MajorStep, myPane.YAxis.Scale.Max - myPane.YAxis.Scale.MajorStep);
myPane.GraphObjList.Add(WarmUpTextObj);
myPane.GraphObjList.Add(RunningTextObj);
myPane.GraphObjList.Add(CoolingDownTextObj);
zedGraphControl1.Refresh();
}