using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ZedGraph; namespace TestZedGraphControl { /// <summary> /// 画图控件操作类(VS显示控件:工具-->添加项-->选择项-->ZedGraph.dll) /// </summary> public class CtlZedGraphOperate { private ZedGraphControl m_zedGraphControl = null; /// <summary> /// 关联ZedGraph画图控件 /// </summary> public ZedGraphControl refZedGraphControl { set { m_zedGraphControl = value; } get { return m_zedGraphControl; } } /// <summary> /// 构造函数 /// </summary> public CtlZedGraphOperate() { } private static volatile CtlZedGraphOperate zgOpera = null; /// <summary> /// 获取画图控件操作类单一实例 /// </summary> /// <returns></returns> public static CtlZedGraphOperate GetInstance() { if(null == zgOpera) { zgOpera = new CtlZedGraphOperate(); } return zgOpera; } /// <summary> /// 设置标题 /// </summary> /// <param name="title">图标题</param> /// <param name="x_title">X轴标题</param> /// <param name="y_title">Y轴标题</param> /// <param name="x_type">X轴类型</param> /// <param name="y_type">Y轴类型</param> public void SetTitles(string title, string x_title, string y_title) { m_zedGraphControl.GraphPane.Title.Text = title; m_zedGraphControl.GraphPane.XAxis.Title.Text = x_title; m_zedGraphControl.GraphPane.YAxis.Title.Text = y_title; } /// <summary> /// 设置标题(Linear:线性,Exponent:指数,Log:对数,Date:时间,Text:文本,Ordinal:序数,LinearOrdinal:线性序数,DateOrdinal:时间序数) /// </summary> /// <param name="title">图标题</param> /// <param name="x_title">X轴标题</param> /// <param name="y_title">Y轴标题</param> /// <param name="x_type">X轴类型</param> /// <param name="y_type">Y轴类型</param> public void SetTitles(string title, string x_title, string y_title, AxisType x_type, AxisType y_type) { m_zedGraphControl.GraphPane.Title.Text = title; m_zedGraphControl.GraphPane.XAxis.Title.Text = x_title; m_zedGraphControl.GraphPane.YAxis.Title.Text = y_title; m_zedGraphControl.GraphPane.XAxis.Type = x_type; m_zedGraphControl.GraphPane.YAxis.Type = y_type; } /// <summary> /// 依据点集画线 /// </summary> /// <param name="pointList">点集</param> public LineItem DrawLines(string label, PointPairList pointList, System.Drawing.Color color, SymbolType symbolType) { return m_zedGraphControl.GraphPane.AddCurve(label, pointList, color, symbolType); } /// <summary> /// 刷新 /// </summary> public void ReFresh() { m_zedGraphControl.AxisChange(); m_zedGraphControl.Refresh(); } } }