WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/01-view/PumpChartViewCtrl.cs
@@ -13,7 +13,7 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(HStation.Vmo.PhartDiagramRelationExtensionsVmo vmo, double nr) public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo, double nr) { var vm_list = vmo.GetPumpCurveViewMdoelList(); var vm_defult = vm_list.OrderBy(x => x.Hz).LastOrDefault(); @@ -82,15 +82,13 @@ this.pumpChart1.SetChart(vm); } /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); return new Yw.Vmo.PhartDiagramExGraphListVmo(); } } } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/02-edit/PumpChartEditCtrl.cs
@@ -11,7 +11,7 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(HStation.Vmo.PhartDiagramRelationExtensionsVmo vmo, double nr) public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo, double nr) { } @@ -20,9 +20,9 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); return new (); } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/03-import/01-excel/PumpChartExcelImportCtrl.cs
@@ -20,11 +20,10 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); } return new (); } } } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/03-import/02-image/PumpChartImageImportCtrl.Designer.cs
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/03-import/02-image/PumpChartImageImportCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/03-import/02-image/UniversalChartImageImportCtrl.cs ÐÞ¸Ä @@ -20,9 +20,9 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); return new (); } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/03-import/02-image/PumpChartImageImportCtrl.resx
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump/03-import/03-point/PumpChartPointImportCtrl.cs
@@ -11,7 +11,7 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(double flow, double head, double speed, double? eff, double level, bool is_sxp) public void SetBindingData(double flow, double head, double n, double eff, double level = 1, bool is_sxp = false) { } @@ -20,9 +20,9 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); return new (); } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-universal/01-view/UniversalChartViewCtrl.cs
@@ -11,7 +11,7 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(HStation.Vmo.PhartDiagramRelationExtensionsVmo vmo) public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo) { } @@ -20,9 +20,9 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); return new (); } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-universal/02-edit/UniversalChartEditCtrl.cs
@@ -11,7 +11,7 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(HStation.Vmo.PhartDiagramRelationExtensionsVmo vmo) public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo) { } @@ -20,10 +20,10 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); } return new(); } } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-universal/03-import/01-excel/UniversalChartExcelImportCtrl.cs
@@ -20,9 +20,9 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); return new (); } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-universal/03-import/02-image/UniversalChartImageImportCtrl.cs
@@ -20,10 +20,10 @@ /// <summary> /// è·å /// </summary> public HStation.Vmo.PhartDiagramRelationExtensionsVmo Get() public Yw.Vmo.PhartDiagramExGraphListVmo Get() { return new Vmo.PhartDiagramRelationExtensionsVmo(); } return new(); } } WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj
@@ -85,7 +85,7 @@ <Compile Update="01-pump\03-import\01-excel\PumpChartExcelImportCtrl.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="01-pump\03-import\02-image\UniversalChartImageImportCtrl.cs"> <Compile Update="01-pump\03-import\02-image\PumpChartImageImportCtrl.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="01-pump\03-import\03-point\PumpChartPointImportCtrl.cs"> WinFrmUI/Yw.WinFrmUI.Phart.Core/00-calc-helper/ÎÄ×Ö/AnnoAnchorPoint.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,83 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; namespace Eventech.Model { [DataContract] public class AnnoAnchorPoint : Eventech.Model.FeatPoint { [DataMember] public string Text { get { return _str; } set { _str = value; } } protected string _str = null; [DataMember] public string CurveTag { get { return _curvetag; } set { _curvetag = value; } } protected string _curvetag = ""; [DataMember] public int TextAligment { get { return _textAligment; } set { _textAligment = value; } } protected int _textAligment = 0; #region æé 彿° public AnnoAnchorPoint() { } public AnnoAnchorPoint(Eventech.Model.FeatPoint rhs) { this.X = rhs.X; this.Y = rhs.Y; } public AnnoAnchorPoint(AnnoAnchorPoint rhs) { this.Text = rhs.Text; this.CurveTag = rhs.CurveTag; this.TextAligment = rhs.TextAligment; this.X = rhs.X; this.Y = rhs.Y; } public AnnoAnchorPoint(string strStore) { string[] strPara_split_array = strStore.Split(','); this.X = Convert.ToDouble(strPara_split_array[0]); this.Y = Convert.ToDouble(strPara_split_array[1]); this.Text = strPara_split_array[2]; this.CurveTag = strPara_split_array[3]; this.TextAligment = Convert.ToInt32(strPara_split_array[4]); } #endregion public override string ToString() { return string.Format("{0}({3}) X:{1},Y:{2}", _str, x, y, _curvetag); } public new AnnoAnchorPoint Clone() //坹夿ä¾ä¸ä¸ªå建èªèº«çæµ è¡¨å¯æ¬çè½å { return new AnnoAnchorPoint(this); } public new string ToDsString() { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0:0.00}", this.X); sb.Append(","); sb.AppendFormat("{0:0.00}", this.Y); sb.Append(","); sb.Append(this.Text); sb.Append(","); sb.Append(this.CurveTag); sb.Append(","); sb.AppendFormat("{0}", this.TextAligment); return sb.ToString(); } } } WinFrmUI/Yw.WinFrmUI.Phart.Core/00-calc-helper/ÎÄ×Ö/eTextAligment.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Eventech.Model { public enum eTextAligment { Right = 0, Bottom = 1, Left = 2, Top = 3, TopRight = 4 } } WinFrmUI/Yw.WinFrmUI.Phart.Core/01-pump/00-core/PumpPoint2dExtensions.cs
@@ -8,6 +8,7 @@ return series_pt; } public static DevExpress.XtraCharts.SeriesPoint ToSeriesPoint(this Yw.Geometry.Point2d pt, bool is_empty=false) { var series_pt = new DevExpress.XtraCharts.SeriesPoint(pt.X, new double[] { pt.Y }); WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/01-view/UniversalViewChart.cs
@@ -128,11 +128,9 @@ //设置æç½æ¿åæ _coordinate = new UniversalCoordinate(); _coordinate.GridNumberX = 30; _coordinate.GridNumberY = 16; //æ¾ç¤ºçåæ çº¿å· _coordinate.GridNumberY = 16; _coordinate.StartLineNoY = 10; _coordinate.EndLineNoY = 15; //åæ æå°å¼åé´é _coordinate.EndLineNoY = 15; _coordinate.CoordMinX = 0; _coordinate.CoordSpaceX = 1000; _coordinate.CoordMinY = 10; _coordinate.CoordSpaceY = 100; } @@ -226,7 +224,9 @@ /// </summary> public void SetBindingData(List<Yw.Geometry.Point2d> pt_list, string caption = "", string coordinate = null, Color? color = null) { _pt_list = pt_list; _pt_list = pt_list; _coordinate = UniversalCoordinate.ToModel(coordinate); this.chartControl1.BeginInit(); this.chartControl1.Series.Clear(); this.chartControl1.AnnotationRepository.Clear(); @@ -241,27 +241,33 @@ if (color == null) color = PumpChartDisplay.CurveColorQH; AddLineSeries(caption, color.Value, _axis_x, _axis_y, _default_pane, pt_list); AddLineSeries( color.Value, _axis_x, _axis_y, _default_pane, pt_list); if (!string.IsNullOrEmpty(caption)) { AddAnnotation(caption, caption, color.Value, _axis_y, _default_pane, pt_list.Last()); AddAnnotation( caption, color.Value, _axis_y, _default_pane, pt_list.Last()); } _coordinate = UniversalCoordinate.ToModel(coordinate); if (_coordinate == null) { SetCoordinate(); } SetChartAxis(); this.chartControl1.EndInit(); _initial_data = true; } //æ¯å¦æ¯æ ææ°æ® private bool IsInvalidData() { if (_pt_list == null || !_pt_list.Any()) { return true; } return false; } #region Add Chart Data private void AddPointSeries(string id, Color color, AxisXBase axis_x, AxisYBase axis_y, XYDiagramPaneBase pane, List<Yw.Geometry.Point2d> pt_list) private void AddPointSeries( Color color, AxisXBase axis_x, AxisYBase axis_y, XYDiagramPaneBase pane, List<Yw.Geometry.Point2d> pt_list) { if (pt_list == null || !pt_list.Any()) return; @@ -277,8 +283,7 @@ view.Pane = pane; var series_pt_list = pt_list.Select(x => x.ToSeriesPoint()).ToArray(); var series = new DevExpress.XtraCharts.Series(); series.Tag = id; var series = new DevExpress.XtraCharts.Series(); series.ShowInLegend = false; series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Numerical; series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; @@ -293,7 +298,7 @@ this.chartControl1.Series.Add(series); } private void AddLineSeries(string id, Color color, AxisXBase axis_x, AxisYBase axis_y, XYDiagramPaneBase pane, List<Yw.Geometry.Point2d> pt_list, DashStyle dash = DashStyle.Solid) private void AddLineSeries( Color color, AxisXBase axis_x, AxisYBase axis_y, XYDiagramPaneBase pane, List<Yw.Geometry.Point2d> pt_list, DashStyle dash = DashStyle.Solid) { if (pt_list == null || !pt_list.Any()) return; @@ -311,8 +316,7 @@ view.Pane = pane; var series_pt_list = pt_list.Select(x => x.ToSeriesPoint()).ToArray(); var series = new DevExpress.XtraCharts.Series(); series.Tag = id; var series = new DevExpress.XtraCharts.Series(); series.ShowInLegend = false; series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Numerical; series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; @@ -326,7 +330,7 @@ this.chartControl1.Series.Add(series); } private void AddAnnotation(string id, string caption, Color color, AxisYBase axis_y, XYDiagramPaneBase pane, Yw.Geometry.Point2d pt, double angle = -10) private void AddAnnotation(string caption, Color color, AxisYBase axis_y, XYDiagramPaneBase pane, Yw.Geometry.Point2d pt, double angle = -10) { if (pt == null) return; @@ -348,8 +352,7 @@ text_annotation.AutoWidth = true; text_annotation.BackColor = System.Drawing.Color.Transparent; text_annotation.Border.Color = color; text_annotation.ConnectorStyle = DevExpress.XtraCharts.AnnotationConnectorStyle.Line; text_annotation.Tag = id; text_annotation.ConnectorStyle = DevExpress.XtraCharts.AnnotationConnectorStyle.Line; text_annotation.Padding.Bottom = 1; text_annotation.Padding.Left = 1; text_annotation.Padding.Right = 1; @@ -379,9 +382,8 @@ /// è®¾ç½®åæ /// </summary> private void SetCoordinate() { if (_pt_list == null || !_pt_list.Any()) { if (IsInvalidData()) { InitialCoordinate(); return; @@ -407,7 +409,7 @@ /// </summary> private void SetChartAxis() { if (_coordinate == null) if (_coordinate == null || IsInvalidData()) { _axis_x.Visibility = DefaultBoolean.False; _axis_x.GridLines.Visible = false; @@ -478,7 +480,7 @@ _const_line_y.Visible = true; _const_line_y.Title.Visible = true; } if (_pt_list == null || !_pt_list.Any()) if (this.IsInvalidData()) return; var min_x = _pt_list.Min(x => x.X); @@ -512,7 +514,7 @@ { if (!_line_visible) return; if (_pt_list == null || !_pt_list.Any()) if (IsInvalidData()) return; var min_y = _pt_list.Min(x => x.Y); WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/02-edit/UniversalEditChart.cs
@@ -17,11 +17,9 @@ #region Private Variable private XYDiagram _diagram; private XYDiagramDefaultPane _default_pane; private AxisX _axis_x; private AxisY _axis_y; private Series _series_line; private Series _series_point; private AxisY _axis_y; private List<Yw.Geometry.Point2d> _point_pt_list; private List<Yw.Geometry.Point2d> _line_pt_list; @@ -114,27 +112,37 @@ _diagram = (XYDiagram)chartControl1.Diagram; _default_pane=_diagram.DefaultPane; _axis_x = _diagram.AxisX; //_axis_x.SetAxisXQDisplay(); _axis_y = _diagram.AxisY; //_axis_y.SetAxisYQLDisplay(); _series_line = this.chartControl1.GetSeriesByName("SeriesLine"); //_series_line.SetCurveQLDisplay(); _series_point = this.chartControl1.GetSeriesByName("SeriesPoint"); //_series_point.SetPointQLDisplay(); _axis_x.Visibility = DefaultBoolean.False; _axis_x.GridLines.Visible = false; _axis_y.Visibility = DefaultBoolean.False; _axis_y.GridLines.Visible = false; _series_point.Visible = false; this.chartControl1.SetChartMonoColorDisplay(); } /// <summary> /// åå§ååæ è½´ /// </summary> private void InitialCoordinate() { //设置æç½æ¿åæ _coordinate = new UniversalCoordinate(); _coordinate.GridNumberX = 30; _coordinate.GridNumberY = 16; _coordinate.StartLineNoY = 10; _coordinate.EndLineNoY = 15; _coordinate.CoordMinX = 0; _coordinate.CoordSpaceX = 1000; _coordinate.CoordMinY = 10; _coordinate.CoordSpaceY = 100; } #endregion Initial @@ -143,93 +151,211 @@ /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(List<Yw.Geometry.Point2d> point_pt_list, List<Yw.Geometry.Point2d> line_pt_list, string coordinate = null) public void SetBindingData(List<Yw.Geometry.Point2d> point_pt_list, List<Yw.Geometry.Point2d> line_pt_list, string coordinate = null, Color? color = null) { _initial_data = false; _point_pt_list = point_pt_list; _line_pt_list = line_pt_list; _coordinate = UniversalCoordinate.ToModel(coordinate); if (line_pt_list == null || !line_pt_list.Any()) this.chartControl1.BeginInit(); this.chartControl1.Series.Clear(); this.chartControl1.AnnotationRepository.Clear(); this.chartControl1.Legend.CustomItems.Clear(); if (IsInvalidData()) { _initial_data = false; this.chartControl1.EndInit(); return; } if (point_pt_list == null || !point_pt_list.Any()) { point_pt_list = line_pt_list.Select(x => x.Clone()).ToList(); } _initial_data = true; UpdateChart(); } #endregion #region Update /// <summary> /// æ´æ°æ²çº¿ /// </summary> public void UpdateCurve(List<Yw.Geometry.Point2d> point_pt_list) { if (point_pt_list == null || !point_pt_list.Any()) return; _point_pt_list = point_pt_list; _line_pt_list = point_pt_list.GetFitPointList(); UpdateChart(true); } /// <summary> /// æ´æ°å¾è¡¨ /// </summary> /// <param name="calc_coordinate">计ç®åæ </param> public void UpdateChart(bool calc_coordinate = false) { if (calc_coordinate || _coordinate == null) { //ä¸å¼ºè¿«è®¡ç®,å°±ç¨ä¸æ¬¡æ´æ°çåæ ç³» CalcCoordinate(); } CalcChartAxis(); CalcSeries(); } #endregion Update #region Calc /// <summary> /// 计ç®åæ /// </summary> public void CalcCoordinate() { if (_line_pt_list == null || _line_pt_list.Count < 4) { //设置æç½æ¿åæ _coordinate = new UniversalCoordinate(); _coordinate.GridNumberX = 30; _coordinate.GridNumberY = 16; //æ¾ç¤ºçåæ çº¿å· _coordinate.StartLineNoY = 10; _coordinate.EndLineNoY = 15; //åæ æå°å¼åé´é _coordinate.CoordMinX = 0; _coordinate.CoordSpaceX = 1000; _coordinate.CoordMinY = 10; _coordinate.CoordSpaceY = 100; return; } _coordinate = UniversalCoordinate.CalcCoordinate(_line_pt_list); } /// <summary> /// 计ç®å¾è¡¨è½´ /// </summary> public void CalcChartAxis() { AddPointSeries(color.Value, _axis_x, _axis_y, _default_pane, _point_pt_list); AddLineSeries(color.Value, _axis_x, _axis_y, _default_pane, _line_pt_list); if (_coordinate == null) SetCoordinate(); SetChartAxis(); this.chartControl1.EndInit(); _initial_data = true; } //æ¯å¦æ¯æ ææ°æ® private bool IsInvalidData() { if (_point_pt_list == null || !_point_pt_list.Any()) { return true; } if (_line_pt_list == null || !_line_pt_list.Any()) { return true; } return false; } #region Add Chart Data private void AddPointSeries(Color color, AxisXBase axis_x, AxisYBase axis_y, XYDiagramPaneBase pane, List<Yw.Geometry.Point2d> pt_list) { if (pt_list == null || !pt_list.Any()) return; var view = new DevExpress.XtraCharts.PointSeriesView(); view.PointMarkerOptions.Size = 8; view.PointMarkerOptions.Kind = MarkerKind.Circle; view.PointMarkerOptions.BorderColor = color; view.Color = color; view.AxisX = axis_x; view.AxisY = axis_y; view.EmptyPointOptions.Color = Color.Transparent; view.Pane = pane; var series_pt_list = new List<SeriesPoint>(); for (int i = 0; i < pt_list.Count; i++) { var pt = pt_list[i]; var series_pt = new DevExpress.XtraCharts.SeriesPoint(pt.X, new double[] { pt.Y }); series_pt_list.Add(series_pt); } var series = new DevExpress.XtraCharts.Series(); series.ShowInLegend = false; series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Numerical; series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; series.CrosshairEnabled = DefaultBoolean.False; series.CrosshairLabelVisibility = DefaultBoolean.False; series.ToolTipEnabled = DefaultBoolean.False; series.SeriesPointsSorting = SortingMode.None; series.Visible = true; series.View = view; series.CrosshairLabelPattern = "{A}"; series.Points.AddRange(series_pt_list); this.chartControl1.Series.Add(series); } private void AddLineSeries(Color color, AxisXBase axis_x, AxisYBase axis_y, XYDiagramPaneBase pane, List<Yw.Geometry.Point2d> pt_list, DashStyle dash = DashStyle.Solid) { if (pt_list == null || !pt_list.Any()) return; var view = new DevExpress.XtraCharts.LineSeriesView(); view.LineStyle.DashStyle = dash; view.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Round; view.LineStyle.Thickness = 2; view.Color = color; view.EnableAntialiasing = DefaultBoolean.True; view.MarkerVisibility = DefaultBoolean.False; view.AxisX = axis_x; view.AxisY = axis_y; view.EmptyPointOptions.Color = Color.Transparent; view.Pane = pane; var series_pt_list = pt_list.Select(x => x.ToSeriesPoint()).ToArray(); var series = new DevExpress.XtraCharts.Series(); series.ShowInLegend = false; series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Numerical; series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; series.CrosshairEnabled = DefaultBoolean.False; series.ToolTipEnabled = DefaultBoolean.False; series.SeriesPointsSorting = SortingMode.None; series.Visible = true; series.View = view; series.Points.AddRange(series_pt_list); this.chartControl1.Series.Add(series); } private void AddAnnotation(string caption, Color color, AxisYBase axis_y, XYDiagramPaneBase pane, Yw.Geometry.Point2d pt, double angle = -10) { if (pt == null) return; var anchor_pt = pt; var pane_anchor_pt = new DevExpress.XtraCharts.PaneAnchorPoint(); pane_anchor_pt.Pane = pane; pane_anchor_pt.AxisYCoordinate.Axis = axis_y; pane_anchor_pt.AxisXCoordinate.AxisValue = anchor_pt.X; pane_anchor_pt.AxisYCoordinate.AxisValue = anchor_pt.Y; var relative_position = new DevExpress.XtraCharts.RelativePosition(); relative_position.Angle = angle; relative_position.ConnectorLength = 20; var text_annotation = new TextAnnotation(); text_annotation.Border.Visibility = DefaultBoolean.False; text_annotation.AnchorPoint = pane_anchor_pt; text_annotation.AutoHeight = true; text_annotation.AutoWidth = true; text_annotation.BackColor = System.Drawing.Color.Transparent; text_annotation.Border.Color = color; text_annotation.ConnectorStyle = DevExpress.XtraCharts.AnnotationConnectorStyle.Line; text_annotation.Padding.Bottom = 1; text_annotation.Padding.Left = 1; text_annotation.Padding.Right = 1; text_annotation.Padding.Top = 1; text_annotation.RuntimeMoving = true; text_annotation.RuntimeAnchoring = false; text_annotation.RuntimeResizing = false; text_annotation.RuntimeRotation = false; text_annotation.Text = caption; text_annotation.TextColor = color; text_annotation.ShapePosition = relative_position; text_annotation.Visible = true; this.chartControl1.AnnotationRepository.Add(text_annotation); } #endregion #endregion #region Set Axis private double _minX, _maxX; private double _maxY = 0, _minY = 10000; /// <summary> /// è®¾ç½®åæ /// </summary> private void SetCoordinate() { if (IsInvalidData()) { InitialCoordinate(); return; } _minX = _point_pt_list.Min(x => x.X); _maxX = _point_pt_list.Max(x => x.X); _minY = _point_pt_list.Min(x => x.Y); _maxY = _point_pt_list.Max(x => x.Y); _minX = Math.Min(_line_pt_list.Min(x => x.X), _minX); _maxX = Math.Min(_line_pt_list.Max(x => x.X), _maxX); _minY = Math.Min(_line_pt_list.Min(x => x.Y), _minY); _maxY = Math.Min(_line_pt_list.Max(x => x.Y), _maxY); _coordinate = UniversalCoordinate.CalcCoordinate(_minX, _maxX, _minY, _maxY); if (_coordinate == null) return; if (_coordinate.CoordMinX + _coordinate.CoordSpaceX * this._coordinate.GridNumberX < _maxX * 1.05) { _coordinate.GridNumberX++; } } /// <summary> /// 设置å¾è¡¨è½´ /// </summary> public void SetChartAxis() { if (_coordinate == null || IsInvalidData()) { _axis_x.Visibility = DefaultBoolean.False; _axis_x.GridLines.Visible = false; @@ -237,52 +363,39 @@ _axis_y.GridLines.Visible = false; return; } if (_line_pt_list != null && _line_pt_list.Any()) { //计ç®å»åº¦ X var axis_x_labels = new List<CustomAxisLabel>(); var dis_x = _coordinate.CoordMinX; for (int i = 0; i < _coordinate.GridNumberX + 1; i++) { axis_x_labels.Add(new CustomAxisLabel(dis_x.ToString("N0"), dis_x)); dis_x = dis_x + _coordinate.CoordSpaceX; } //æµé if (_line_pt_list != null) _axis_x.CustomLabels.Clear(); _axis_x.CustomLabels.AddRange(axis_x_labels.ToArray()); _axis_x.Visibility = DefaultBoolean.True; _axis_x.GridLines.Visible = true; //计ç®å»åº¦ Y var axis_y_labels = new List<CustomAxisLabel>(); var dis_y = _coordinate.CoordMinY + _coordinate.CoordSpaceY * _coordinate.StartLineNoY; for (int i = _coordinate.StartLineNoY; i < _coordinate.EndLineNoY + 1; i++) { //计ç®å»åº¦ var labels = new List<CustomAxisLabel>(); var disX = _coordinate.CoordMinX; for (int i = 0; i < _coordinate.GridNumberX + 1; i++) { labels.Add(new CustomAxisLabel(disX.ToString("N0"), disX)); disX = disX + _coordinate.CoordSpaceX; } //åæ å»åº¦ _axis_x.CustomLabels.Clear(); _axis_x.CustomLabels.AddRange(labels.ToArray()); _axis_x.Visibility = DefaultBoolean.True; _axis_x.GridLines.Visible = true; _axis_x.SetAxisRange(_coordinate.CoordMinX, _coordinate.CoordMinX + _coordinate.GridNumberX * _coordinate.CoordSpaceX); axis_y_labels.Add(new CustomAxisLabel(dis_y.ToString(), dis_y)); dis_y = dis_y + _coordinate.CoordSpaceY; } { //计ç®å»åº¦ var labels = new List<CustomAxisLabel>(); var display_head = _coordinate.CoordMinY + _coordinate.CoordSpaceY * _coordinate.StartLineNoY; for (int i = _coordinate.StartLineNoY; i < _coordinate.EndLineNoY + 1; i++) { labels.Add(new CustomAxisLabel(display_head.ToString(), display_head)); display_head = display_head + _coordinate.CoordSpaceY; } _axis_y.CustomLabels.Clear(); _axis_y.CustomLabels.AddRange(axis_y_labels.ToArray()); _axis_y.Visibility = DefaultBoolean.True; _axis_y.GridLines.Visible = true; _axis_y.CustomLabels.Clear(); _axis_y.CustomLabels.AddRange(labels.ToArray()); _axis_y.Visibility = DefaultBoolean.True; _axis_y.GridLines.Visible = true; } _axis_x.SetAxisRange(_coordinate.CoordMinX, _coordinate.CoordMinX + _coordinate.GridNumberX * _coordinate.CoordSpaceX); _axis_x.SetAxisRange(_coordinate.CoordMinX, _coordinate.DispMaxX()); _axis_y.SetAxisRange(_coordinate.DispMinY(), _coordinate.DispMaxY()); } /// <summary> @@ -426,7 +539,7 @@ } DefinePointChangedEvent?.Invoke(_point_pt_list); CalcChartAxis(); SetChartAxis(); } #endregion ChartEvent WinFrmUI/Yw.WinFrmUI.Phart.Core/Yw.WinFrmUI.Phart.Core.csproj
@@ -9,6 +9,7 @@ <ItemGroup> <Compile Remove="00-calc-helper\A临æ¶èµæ\**" /> <Compile Remove="00-calc-helper\æå\**" /> <Compile Remove="00-calc-helper\çæçº¿\**" /> <Compile Remove="01-pump\00- - å¤å¶\**" /> <Compile Remove="01-pump\02-multi\02-work\**" /> @@ -18,6 +19,7 @@ <Compile Remove="bak\**" /> <Compile Remove="v2\**" /> <EmbeddedResource Remove="00-calc-helper\A临æ¶èµæ\**" /> <EmbeddedResource Remove="00-calc-helper\æå\**" /> <EmbeddedResource Remove="00-calc-helper\çæçº¿\**" /> <EmbeddedResource Remove="01-pump\00- - å¤å¶\**" /> <EmbeddedResource Remove="01-pump\02-multi\02-work\**" /> @@ -27,6 +29,7 @@ <EmbeddedResource Remove="bak\**" /> <EmbeddedResource Remove="v2\**" /> <None Remove="00-calc-helper\A临æ¶èµæ\**" /> <None Remove="00-calc-helper\æå\**" /> <None Remove="00-calc-helper\çæçº¿\**" /> <None Remove="01-pump\00- - å¤å¶\**" /> <None Remove="01-pump\02-multi\02-work\**" /> @@ -36,6 +39,7 @@ <None Remove="bak\**" /> <None Remove="v2\**" /> <Page Remove="00-calc-helper\A临æ¶èµæ\**" /> <Page Remove="00-calc-helper\æå\**" /> <Page Remove="00-calc-helper\çæçº¿\**" /> <Page Remove="01-pump\00- - å¤å¶\**" /> <Page Remove="01-pump\02-multi\02-work\**" />