作过一个用折线图实时展现温度,脉搏数据的功能,如今将折线图绘制相关的东西总结下。测试
效果图一:.net
效果图二:code
数据是随机生成的,随着数据增长,折线会向左移动.........blog
主要参数设置:get
public void init_squareValue(int beginx, int beginy, int intervalx, int intervaly) //x,y轴的开始位置,x,y轴方格线之间的间隔 public void init_coordinatesValue(string xunit, string yunit, float beginyvalue, float everyYvalue) //x,y轴单位,y轴坐标初始值,y轴每个vlaue public void initPen(Pen squarepen, Pen linepen, SolidBrush covaluesolidbrush, Pen coLinepen, Pen pointpen) //各类pen的设置
主要方法:string
public void DrawCoordinateLine(Graphics g) //画坐标轴 public void DrawSquare(Graphics g) //画方格线 public void DrawCoordinatesValues(Graphics g, int interval_xv, int interval_yv) //画坐标轴值,每隔interval_xv格横坐标值显示,每隔interval_yv纵坐标显示 public void DrawEveryPoint(Graphics g, List<float> list_point, Pen pointPen, bool full = false, int pointR = 2) //画每个点 public void DrawLinkPoint(Graphics g, List<float> list_point, Pen linePen) //画折线
开始时,每改变一下折线图,就要改变好多东西,非常麻烦,后来我把绘制的东西的所有放到了一个类中,想要绘制什么样的折线图时,调用一下相关设置参数和绘制的方法,方便多了。it
完整的类,以及相关调用实现,我都整理成了一个TEST测试程序,上面效果图就是这个程序运行的结果,你们能够看看,DrawTable。class