using DevExpress.XtraCharts;
|
|
|
namespace Yw.WinFrmUI.Phart
|
{
|
/// <summary>
|
/// 图表扩展类
|
/// </summary>
|
public static class PumpChartExtend
|
{
|
|
public readonly static int Qh = 1, Qe, QP = 3;
|
|
#region SetChart
|
|
/// <summary>
|
/// 设置图表
|
/// </summary>
|
public static void SetChartDisplay(this ChartControl chart)
|
{
|
chart.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Right;
|
chart.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
|
chart.Legend.Direction = DevExpress.XtraCharts.LegendDirection.LeftToRight;
|
chart.Legend.MarkerMode = DevExpress.XtraCharts.LegendMarkerMode.Marker;
|
chart.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
|
chart.SeriesSelectionMode = SeriesSelectionMode.Point;
|
|
SetChartBackColor(chart);
|
}
|
|
/// <summary>
|
/// 设置图表背景色
|
/// </summary>
|
/// <param name="chart"></param>
|
public static void SetChartBackColor(this ChartControl chart)
|
{
|
chart.BackColor = PumpChartDisplay.ChartBackColor;
|
foreach (var title in chart.Titles)
|
{
|
if (title is ChartTitle chartTitle)
|
chartTitle.TextColor = PumpChartDisplay.ChartChartTitle;
|
}
|
|
if (chart.Diagram is XYDiagram xyDiagram)
|
{
|
xyDiagram.DefaultPane.Title.Alignment = StringAlignment.Near;
|
xyDiagram.DefaultPane.Title.DXFont = new Font("Tahoma", 9);
|
xyDiagram.DefaultPane.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
xyDiagram.DefaultPane.BackColor = PumpChartDisplay.ChartBackColor;
|
for (int i = 0; i < xyDiagram.Panes.Count; i++)
|
{
|
xyDiagram.Panes[i].BackColor = PumpChartDisplay.ChartBackColor;
|
}
|
|
xyDiagram.AxisX.GridLines.MinorColor = Color.Silver;
|
xyDiagram.AxisY.GridLines.MinorColor = Color.Silver;
|
}
|
}
|
|
/// <summary>
|
/// 设置单色图表
|
/// </summary>
|
/// <param name="chart"></param>
|
public static void SetChartMonoColorDisplay(this ChartControl chart)
|
{
|
var monoColor = Color.Black;
|
var minorColor = Color.Gray;
|
var txtBackColor = Color.White;
|
|
// 注释
|
for (int i = 0; i < chart.AnnotationRepository.Count; i++)
|
{
|
if (chart.AnnotationRepository[i] is TextAnnotation txt)
|
{
|
txt.TextColor = monoColor;
|
txt.Border.Color = monoColor;
|
txt.BackColor = txtBackColor;
|
}
|
}
|
|
// 系列
|
for (int i = 0; i < chart.Series.Count; i++)
|
{
|
var series = chart.Series[i];
|
series.View.Color = monoColor;
|
if (series.View is PointSeriesView pointView)
|
pointView.PointMarkerOptions.BorderColor = monoColor;
|
}
|
|
// 轴
|
if (chart.Diagram is XYDiagram xyDiagram)
|
{
|
var axisX = xyDiagram.AxisX;
|
axisX.Color = monoColor;
|
axisX.Label.TextColor = monoColor;
|
axisX.Title.TextColor = monoColor;
|
axisX.GridLines.Color = monoColor;
|
axisX.GridLines.MinorColor = minorColor;
|
|
var axisY = xyDiagram.AxisY;
|
axisY.Color = monoColor;
|
axisY.Label.TextColor = monoColor;
|
axisY.Title.TextColor = monoColor;
|
axisY.GridLines.Color = monoColor;
|
axisY.GridLines.MinorColor = minorColor;
|
|
for (int i = 0; i < xyDiagram.SecondaryAxesY.Count; i++)
|
{
|
var axis = xyDiagram.SecondaryAxesY[i];
|
axis.Color = monoColor;
|
axis.Label.TextColor = monoColor;
|
axis.Title.TextColor = monoColor;
|
axis.GridLines.Color = monoColor;
|
axis.GridLines.MinorColor = minorColor;
|
}
|
|
for (int i = 0; i < axisX.Strips.Count; i++)
|
{
|
axisX.Strips[i].Color = minorColor;
|
}
|
|
for (int i = 0; i < xyDiagram.AxisX.ConstantLines.Count; i++)
|
{
|
var line = xyDiagram.AxisX.ConstantLines[i];
|
line.Color = monoColor;
|
line.Title.TextColor = monoColor;
|
}
|
|
for (int i = 0; i < xyDiagram.AxisY.ConstantLines.Count; i++)
|
{
|
var line = xyDiagram.AxisY.ConstantLines[i];
|
line.Color = monoColor;
|
line.Title.TextColor = monoColor;
|
}
|
|
|
}
|
|
}
|
|
|
#endregion
|
|
#region SetAxisRange
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="axis"></param>
|
/// <param name="minValue"></param>
|
/// <param name="maxValue"></param>
|
public static void SetAxisRange(this AxisX axis, double minValue, double maxValue)
|
{
|
axis.VisualRange.Auto = false;
|
axis.WholeRange.Auto = false;
|
axis.NumericScaleOptions.AutoGrid = false;
|
axis.WholeRange.SideMarginsValue = 0;
|
axis.VisualRange.SideMarginsValue = 0;
|
axis.WholeRange.SetMinMaxValues(minValue, maxValue);
|
axis.VisualRange.SetMinMaxValues(minValue, maxValue);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="axis"></param>
|
/// <param name="minValue"></param>
|
/// <param name="maxValue"></param>
|
public static void SetAxisRange(this AxisY axis, double minValue, double maxValue)
|
{
|
axis.VisualRange.Auto = false;
|
axis.WholeRange.Auto = false;
|
axis.NumericScaleOptions.AutoGrid = false;
|
axis.WholeRange.SideMarginsValue = 0;
|
axis.VisualRange.SideMarginsValue = 0;
|
axis.WholeRange.SetMinMaxValues(minValue, maxValue);
|
axis.VisualRange.SetMinMaxValues(minValue, maxValue);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="axis"></param>
|
/// <param name="minValue"></param>
|
/// <param name="maxValue"></param>
|
public static void SetAxisRange(this SecondaryAxisY axis, double minValue, double maxValue)
|
{
|
axis.VisualRange.Auto = false;
|
axis.WholeRange.Auto = false;
|
axis.NumericScaleOptions.AutoGrid = false;
|
axis.WholeRange.SideMarginsValue = 0;
|
axis.VisualRange.SideMarginsValue = 0;
|
axis.WholeRange.SetMinMaxValues(minValue, maxValue);
|
axis.VisualRange.SetMinMaxValues(minValue, maxValue);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="axis"></param>
|
/// <param name="minValueWhole"></param>
|
/// <param name="maxValueWhole"></param>
|
/// <param name="minValueVisual"></param>
|
/// <param name="maxValueVisual"></param>
|
public static void SetAxisRange(this AxisY axis, double minValueWhole, double maxValueWhole, double minValueVisual, double maxValueVisual)
|
{
|
axis.VisualRange.Auto = false;
|
axis.WholeRange.Auto = false;
|
axis.NumericScaleOptions.AutoGrid = false;
|
axis.WholeRange.SideMarginsValue = 0;
|
axis.VisualRange.SideMarginsValue = 0;
|
axis.WholeRange.SetMinMaxValues(minValueWhole, maxValueWhole);
|
axis.VisualRange.SetMinMaxValues(minValueVisual, maxValueVisual);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="axis"></param>
|
/// <param name="minValueWhole"></param>
|
/// <param name="maxValueWhole"></param>
|
/// <param name="minValueVisual"></param>
|
/// <param name="maxValueVisual"></param>
|
public static void SetAxisRange(this SecondaryAxisY axis, double minValueWhole, double maxValueWhole, double minValueVisual, double maxValueVisual)
|
{
|
axis.VisualRange.Auto = false;
|
axis.WholeRange.Auto = false;
|
axis.NumericScaleOptions.AutoGrid = false;
|
axis.WholeRange.SideMarginsValue = 0;
|
axis.VisualRange.SideMarginsValue = 0;
|
axis.WholeRange.SetMinMaxValues(minValueWhole, maxValueWhole);
|
axis.VisualRange.SetMinMaxValues(minValueVisual, maxValueVisual);
|
}
|
#endregion
|
|
#region SetAxisDisplay
|
|
/// <summary>
|
/// 设置流量轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetAxisXQDisplay(this AxisX axis)
|
{
|
axis.Color = PumpChartDisplay.AxisColorQ;
|
axis.Label.TextColor = PumpChartDisplay.AxisColorQ;
|
axis.Title.TextColor = PumpChartDisplay.AxisColorQ;
|
axis.GridLines.Color = Color.Silver;
|
axis.GridLines.LineStyle.DashStyle = (DashStyle)PumpChartDisplay.GridLineTypeX;
|
axis.Label.Font = PumpChartDisplay.AxisLabelFontQ;
|
axis.Title.Font = PumpChartDisplay.AxisTitleFontQ;
|
axis.Title.Alignment = StringAlignment.Center;
|
axis.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
axis.Label.TextPattern = "{A:#,#}";
|
}
|
|
/// <summary>
|
/// 设置扬程轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetAxisYQHDisplay(this AxisY axis)
|
{
|
axis.Color = PumpChartDisplay.CurveColorQH;
|
axis.Label.TextColor = PumpChartDisplay.CurveColorQH;
|
axis.Title.TextColor = PumpChartDisplay.CurveColorQH;
|
axis.GridLines.Color = Color.Silver;// CurveChartDisplay.CurveColorQH;
|
axis.GridLines.LineStyle.DashStyle = (DashStyle)PumpChartDisplay.GridLineTypeY;
|
axis.Label.Font = PumpChartDisplay.AxisLabelFontH;
|
axis.Title.Font = PumpChartDisplay.AxisTitleFontH;
|
axis.Title.Alignment = StringAlignment.Far;
|
axis.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
}
|
|
|
/// <summary>
|
/// 设置水损轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetAxisYQLDisplay(this AxisY axis)
|
{
|
axis.Color = PumpChartDisplay.CurveColorQL;
|
axis.Label.TextColor = PumpChartDisplay.CurveColorQL;
|
axis.Title.TextColor = PumpChartDisplay.CurveColorQL;
|
axis.GridLines.Color = Color.Silver;// CurveChartDisplay.CurveColorQH;
|
axis.GridLines.LineStyle.DashStyle = (DashStyle)PumpChartDisplay.GridLineTypeY;
|
axis.Label.Font = PumpChartDisplay.AxisLabelFontL;
|
axis.Title.Font = PumpChartDisplay.AxisTitleFontL;
|
axis.Title.Alignment = StringAlignment.Far;
|
axis.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
}
|
|
/// <summary>
|
/// 设置效率轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetSecondaryAxisYQEDisplay(this SecondaryAxisY axis)
|
{
|
axis.Color = PumpChartDisplay.CurveColorQE;
|
axis.Label.TextColor = PumpChartDisplay.CurveColorQE;
|
axis.Title.TextColor = PumpChartDisplay.CurveColorQE;
|
axis.GridLines.Color = Color.Silver;// CurveChartDisplay.CurveColorQE;
|
axis.GridLines.LineStyle.DashStyle = (DashStyle)PumpChartDisplay.GridLineTypeY;
|
axis.Label.Font = PumpChartDisplay.AxisLabelFontE;
|
axis.Title.Font = PumpChartDisplay.AxisTitleFontE;
|
axis.Title.Alignment = StringAlignment.Center;
|
axis.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
}
|
|
/// <summary>
|
/// 设置功率轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetSecondaryAxisYQPDisplay(this SecondaryAxisY axis)
|
{
|
axis.Color = PumpChartDisplay.CurveColorQP;
|
axis.Label.TextColor = PumpChartDisplay.CurveColorQP;
|
axis.Title.TextColor = PumpChartDisplay.CurveColorQP;
|
axis.GridLines.Color = Color.Silver;// CurveChartDisplay.CurveColorQP;
|
axis.GridLines.LineStyle.DashStyle = (DashStyle)PumpChartDisplay.GridLineTypeY;
|
axis.Label.Font = PumpChartDisplay.AxisLabelFontP;
|
axis.Title.Font = PumpChartDisplay.AxisTitleFontP;
|
axis.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
axis.Alignment = AxisAlignment.Near;
|
}
|
|
/// <summary>
|
/// 设置工作点线
|
/// </summary>
|
/// <param name="line"></param>
|
public static void SetWorkPointLineDisplay(this ConstantLine line)
|
{
|
line.Color = PumpChartDisplay.LineColor;
|
line.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash;
|
line.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.MiterClipped;
|
line.LineStyle.Thickness = 2;
|
line.Title.DXFont = PumpChartDisplay.LineFont;
|
line.Title.TextColor = PumpChartDisplay.LineColor;
|
line.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
line.ShowInLegend = false;
|
}
|
|
/// <summary>
|
/// 设置工作点线
|
/// </summary>
|
/// <param name="line"></param>
|
public static void SetWorkHLineDisplay(this ConstantLine line)
|
{
|
line.Color = PumpChartDisplay.LineColor;
|
line.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash;
|
line.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.MiterClipped;
|
line.LineStyle.Thickness = 2;
|
line.Title.DXFont = PumpChartDisplay.LineFont;
|
line.Title.TextColor = PumpChartDisplay.LineColor;
|
line.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
line.ShowInLegend = false;
|
}
|
|
/// <summary>
|
/// 设置流量轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetAxisYQColorDisplay(this AxisX axis, bool defaultColor = false)
|
{
|
axis.Color = defaultColor ? PumpChartDisplay.AxisColorQ : Color.Black;
|
axis.Label.TextColor = defaultColor ? PumpChartDisplay.AxisColorQ : Color.Black;
|
axis.Title.TextColor = defaultColor ? PumpChartDisplay.AxisColorQ : Color.Black;
|
axis.GridLines.Color = defaultColor ? Color.Silver : Color.Black;
|
|
}
|
|
|
/// <summary>
|
/// 设置扬程轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetAxisYQHColorDisplay(this AxisY axis, Series curve = null, Series point = null, bool defaultColor = false)
|
{
|
axis.Color = defaultColor ? PumpChartDisplay.CurveColorQH : Color.Black;
|
axis.Label.TextColor = defaultColor ? PumpChartDisplay.CurveColorQH : Color.Black;
|
axis.Title.TextColor = defaultColor ? PumpChartDisplay.CurveColorQH : Color.Black;
|
axis.GridLines.Color = defaultColor ? Color.Silver : Color.Black;
|
|
if (curve != null)
|
{
|
curve.View.Color = defaultColor ? PumpChartDisplay.CurveColorQH : Color.Black;
|
}
|
|
if (point != null)
|
{
|
point.View.Color = defaultColor ? PumpChartDisplay.PointColorQH : Color.Black;
|
}
|
}
|
|
/// <summary>
|
/// 设置水损轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetAxisYQLColorDisplay(this AxisY axis, Series curve = null, Series point = null, bool defaultColor = false)
|
{
|
axis.Color = defaultColor ? PumpChartDisplay.CurveColorQL : Color.Black;
|
axis.Label.TextColor = defaultColor ? PumpChartDisplay.CurveColorQL : Color.Black;
|
axis.Title.TextColor = defaultColor ? PumpChartDisplay.CurveColorQL : Color.Black;
|
axis.GridLines.Color = defaultColor ? Color.Silver : Color.Black;
|
|
if (curve != null)
|
{
|
curve.View.Color = defaultColor ? PumpChartDisplay.CurveColorQL : Color.Black;
|
}
|
|
if (point != null)
|
{
|
point.View.Color = defaultColor ? PumpChartDisplay.PointColorQL : Color.Black;
|
}
|
}
|
|
|
/// <summary>
|
/// 设置效率轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetSecondaryAxisYQEColorDisplay(this SecondaryAxisY axis, Series curve = null, Series point = null, bool defaultColor = false)
|
{
|
axis.Color = defaultColor ? PumpChartDisplay.CurveColorQE : Color.Black;
|
axis.Label.TextColor = defaultColor ? PumpChartDisplay.CurveColorQE : Color.Black;
|
axis.Title.TextColor = defaultColor ? PumpChartDisplay.CurveColorQE : Color.Black;
|
axis.GridLines.Color = defaultColor ? Color.Silver : Color.Black;
|
|
if (curve != null)
|
{
|
curve.View.Color = defaultColor ? PumpChartDisplay.CurveColorQE : Color.Black;
|
}
|
|
if (point != null)
|
{
|
point.View.Color = defaultColor ? PumpChartDisplay.PointColorQE : Color.Black;
|
}
|
}
|
|
/// <summary>
|
/// 设置功率轴
|
/// </summary>
|
/// <param name="axis"></param>
|
public static void SetSecondaryAxisYQPColorDisplay(this SecondaryAxisY axis, Series curve = null, Series point = null, bool defaultColor = false)
|
{
|
axis.Color = defaultColor ? PumpChartDisplay.CurveColorQP : Color.Black;
|
axis.Label.TextColor = defaultColor ? PumpChartDisplay.CurveColorQP : Color.Black;
|
axis.Title.TextColor = defaultColor ? PumpChartDisplay.CurveColorQP : Color.Black;
|
axis.GridLines.Color = defaultColor ? Color.Silver : Color.Black;
|
|
if (curve != null)
|
{
|
curve.View.Color = defaultColor ? PumpChartDisplay.CurveColorQP : Color.Black;
|
}
|
|
if (point != null)
|
{
|
point.View.Color = defaultColor ? PumpChartDisplay.PointColorQP : Color.Black;
|
}
|
}
|
|
#endregion
|
|
#region SetSeries
|
|
/// <summary>
|
/// 设置流量扬程线
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetCurveQHDisplay(this Series series, bool showMarker = false)
|
{
|
series.View.Color = PumpChartDisplay.CurveColorQH;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
|
series.LegendTextPattern = PumpChartDisplay.AnnoTextQH;
|
if (series.View is SplineSeriesView view)
|
{
|
view.LineTensionPercent = 50;
|
view.MarkerVisibility = showMarker ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
|
view.LineStyle.DashStyle = DashStyle.Dash;
|
view.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter;
|
}
|
|
}
|
|
|
/// <summary>
|
/// 设置流量水损线
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetCurveQLDisplay(this Series series, bool showMarker = false)
|
{
|
series.View.Color = PumpChartDisplay.CurveColorQL;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
|
series.LegendTextPattern = PumpChartDisplay.AnnoTextQL;
|
if (series.View is SplineSeriesView view)
|
{
|
view.LineTensionPercent = 50;
|
view.MarkerVisibility = showMarker ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
|
}
|
}
|
|
/// <summary>
|
/// 设置流量效率线
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetCurveQEDisplay(this Series series, bool showMarker = false)
|
{
|
series.View.Color = PumpChartDisplay.CurveColorQE;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
|
series.LegendTextPattern = PumpChartDisplay.AnnoTextQE;
|
if (series.View is SplineSeriesView view)
|
{
|
view.LineTensionPercent = 50;
|
view.MarkerVisibility = showMarker ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
|
}
|
|
}
|
|
/// <summary>
|
/// 设置流量功率线
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetCurveQPDisplay(this Series series, bool showMarker = false)
|
{
|
series.View.Color = PumpChartDisplay.CurveColorQP;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
|
series.LegendTextPattern = PumpChartDisplay.AnnoTextQP;
|
if (series.View is SplineSeriesView view)
|
{
|
view.LineTensionPercent = 50;
|
view.MarkerVisibility = showMarker ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
|
}
|
}
|
|
|
/// <summary>
|
/// 设置流量扬程点
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetPointQHDisplay(this Series series)
|
{
|
series.View.Color = PumpChartDisplay.PointColorQH;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairHighlightPoints = DevExpress.Utils.DefaultBoolean.True;
|
series.ShowInLegend = false;
|
if (series.View is PointSeriesView view)
|
{
|
view.PointMarkerOptions.BorderColor = PumpChartDisplay.PointColorQH;
|
view.PointMarkerOptions.Size = PumpChartDisplay.PointSizeQH;
|
view.PointMarkerOptions.Kind = (MarkerKind)PumpChartDisplay.PointKindQH;
|
}
|
}
|
|
/// <summary>
|
/// 设置流量水损点
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetPointQLDisplay(this Series series)
|
{
|
series.View.Color = PumpChartDisplay.PointColorQL;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairHighlightPoints = DevExpress.Utils.DefaultBoolean.True;
|
series.ShowInLegend = false;
|
if (series.View is PointSeriesView view)
|
{
|
view.PointMarkerOptions.BorderColor = PumpChartDisplay.PointColorQL;
|
view.PointMarkerOptions.Size = PumpChartDisplay.PointSizeQL;
|
view.PointMarkerOptions.Kind = (MarkerKind)PumpChartDisplay.PointKindQL;
|
}
|
}
|
|
/// <summary>
|
/// 设置流量效率点
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetPointQEDisplay(this Series series)
|
{
|
series.View.Color = PumpChartDisplay.PointColorQE;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairHighlightPoints = DevExpress.Utils.DefaultBoolean.True;
|
series.ShowInLegend = false;
|
if (series.View is PointSeriesView view)
|
{
|
view.PointMarkerOptions.BorderColor = PumpChartDisplay.PointColorQE;
|
view.PointMarkerOptions.Size = PumpChartDisplay.PointSizeQE;
|
view.PointMarkerOptions.Kind = (MarkerKind)PumpChartDisplay.PointKindQE;
|
}
|
}
|
|
/// <summary>
|
/// 设置流量功率点
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetPointQPDisplay(this Series series)
|
{
|
series.View.Color = PumpChartDisplay.PointColorQP;
|
series.ArgumentScaleType = ScaleType.Numerical;
|
series.CrosshairHighlightPoints = DevExpress.Utils.DefaultBoolean.True;
|
series.ShowInLegend = false;
|
if (series.View is PointSeriesView view)
|
{
|
view.PointMarkerOptions.BorderColor = PumpChartDisplay.PointColorQP;
|
view.PointMarkerOptions.Size = PumpChartDisplay.PointSizeQP;
|
view.PointMarkerOptions.Kind = (MarkerKind)PumpChartDisplay.PointKindQP;
|
}
|
}
|
|
#region Color
|
|
///// <summary>
|
///// 设置默认颜色
|
///// </summary>
|
///// <param name="series"></param>
|
//public static void SetDefaultColorDisplay(this Series series, Chart.ePumpFeatType featCurveType)
|
//{
|
// Color pointColor = CurveChartDisplay.CurveColorQH;
|
// Color lineColor = CurveChartDisplay.PointColorQH;
|
// if (featCurveType == Yw.WinFrmUI.Phart.ePumpFeatType.QE)
|
// {
|
// pointColor = CurveChartDisplay.CurveColorQE;
|
// lineColor = CurveChartDisplay.PointColorQE;
|
// }
|
// else if (featCurveType == Yw.WinFrmUI.Phart.ePumpFeatType.QP)
|
// {
|
// pointColor = CurveChartDisplay.CurveColorQP;
|
// lineColor = CurveChartDisplay.PointColorQP;
|
// }
|
|
// if (series.View is PointSeriesView pointView)
|
// {
|
// pointView.Color = pointColor;
|
// }
|
// else if (series.View is SplineSeriesView lineView)
|
// {
|
// lineView.Color = lineColor;
|
// }
|
//}
|
|
/// <summary>
|
/// 设置默认颜色
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetQHColorDisplay(this Series series)
|
{
|
if (series.View is PointSeriesView pointView)
|
{
|
pointView.Color = PumpChartDisplay.CurveColorQH;
|
}
|
else if (series.View is SplineSeriesView lineView)
|
{
|
lineView.Color = PumpChartDisplay.PointColorQH;
|
}
|
}
|
|
/// <summary>
|
/// 设置默认颜色
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetQLColorDisplay(this Series series)
|
{
|
if (series.View is PointSeriesView pointView)
|
{
|
pointView.Color = PumpChartDisplay.CurveColorQL;
|
}
|
else if (series.View is SplineSeriesView lineView)
|
{
|
lineView.Color = PumpChartDisplay.PointColorQL;
|
}
|
}
|
|
/// <summary>
|
/// 设置默认颜色
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetQEColorDisplay(this Series series)
|
{
|
if (series.View is PointSeriesView pointView)
|
{
|
pointView.Color = PumpChartDisplay.CurveColorQE;
|
}
|
else if (series.View is SplineSeriesView lineView)
|
{
|
lineView.Color = PumpChartDisplay.PointColorQE;
|
}
|
}
|
|
/// <summary>
|
/// 设置默认颜色
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetQPColorDisplay(this Series series)
|
{
|
if (series.View is PointSeriesView pointView)
|
{
|
pointView.Color = PumpChartDisplay.CurveColorQP;
|
}
|
else if (series.View is SplineSeriesView lineView)
|
{
|
lineView.Color = PumpChartDisplay.PointColorQP;
|
}
|
}
|
|
/// <summary>
|
/// 设置单色
|
/// </summary>
|
/// <param name="series"></param>
|
public static void SetMonoColorDisplay(this Series series)
|
{
|
if (series.View is PointSeriesView view)
|
{
|
view.Color = Color.Black;
|
}
|
}
|
#endregion
|
|
#endregion
|
|
#region SetTextAnnotation
|
|
/// <summary>
|
/// 设置工作点注释
|
/// </summary>
|
/// <param name="txt"></param>
|
public static void SetTextAnnoWorkPointDisplay(this TextAnnotation txt)
|
{
|
txt.AutoHeight = true;
|
//txt.TextColor = Color.MidnightBlue;
|
txt.TextColor = Color.Black;
|
// txt.BackColor = Color.Transparent;
|
txt.AutoWidth = true;
|
txt.RuntimeMoving = true;
|
txt.RuntimeResizing = false;
|
txt.RuntimeAnchoring = false;
|
txt.RuntimeEditing = false;
|
txt.RuntimeRotation = false;
|
txt.Text = "工作点";
|
txt.DXFont = PumpChartDisplay.AnnoWorkPiontFontQH;
|
txt.ConnectorStyle = AnnotationConnectorStyle.None;
|
txt.TextAlignment = System.Drawing.StringAlignment.Near;
|
|
txt.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
|
}
|
|
/// <summary>
|
/// 设置流量扬程注释
|
/// </summary>
|
/// <param name="txt"></param>
|
public static void SetTextAnnoQHDisplay(this TextAnnotation txt)
|
{
|
txt.DXFont = PumpChartDisplay.AnnoFontQH;
|
txt.Text = PumpChartDisplay.AnnoTextQH;
|
txt.ConnectorStyle = (AnnotationConnectorStyle)PumpChartDisplay.AnnoConnTypeQH;
|
}
|
|
|
/// <summary>
|
/// 设置流量水损注释
|
/// </summary>
|
/// <param name="txt"></param>
|
public static void SetTextAnnoQLDisplay(this TextAnnotation txt)
|
{
|
txt.DXFont = PumpChartDisplay.AnnoFontQL;
|
txt.Text = PumpChartDisplay.AnnoTextQL;
|
txt.ConnectorStyle = (AnnotationConnectorStyle)PumpChartDisplay.AnnoConnTypeQL;
|
}
|
|
/// <summary>
|
/// 设置流量效率注释
|
/// </summary>
|
/// <param name="txt"></param>
|
public static void SetTextAnnoQEDisplay(this TextAnnotation txt)
|
{
|
txt.DXFont = PumpChartDisplay.AnnoFontQE;
|
txt.Text = PumpChartDisplay.AnnoTextQE;
|
txt.ConnectorStyle = (AnnotationConnectorStyle)PumpChartDisplay.AnnoConnTypeQE;
|
}
|
|
/// <summary>
|
/// 设置流量功率注释
|
/// </summary>
|
/// <param name="txt"></param>
|
public static void SetTextAnnoQPDisplay(this TextAnnotation txt)
|
{
|
txt.DXFont = PumpChartDisplay.AnnoFontQP;
|
txt.Text = PumpChartDisplay.AnnoTextQP;
|
txt.ConnectorStyle = (AnnotationConnectorStyle)PumpChartDisplay.AnnoConnTypeQP;
|
}
|
|
#endregion
|
|
|
|
}
|
}
|