using DevExpress.Utils;
using DevExpress.XtraCharts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OTSIncAReportApp._1_UI.Control_DEVCharts
{
public static class DevFunctions
{
///
/// 饼状Series设置成百分比显示
///
/// Series
public static void SetPiePercentage(this Series series)
{
if (series.View is PieSeriesView)
{
((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = true;
((PiePointOptions)series.PointOptions).ValueNumericOptions.Format = NumericFormat.Percent;
((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = 0;
}
}
///
/// 饼状Series设置显示格式,是以数字还是百分号显示
///
/// Series
public static void SetPieNumber(Series series)
{
if (series.View is PieSeriesView)
{
//设置为值
((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = false;
((PiePointOptions)series.PointOptions).ValueNumericOptions.Format = NumericFormat.Number;
((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = 0;
}
}
public static void SetAxisForXYDiagram(Diagram diagram)
{
//坐标标题的定义
//坐标值说明的字体尺寸,颜色定义
((XYDiagram)diagram).AxisY.Title.TextColor = System.Drawing.Color.Black;
//((XYDiagram)diagram).AxisY.Title.Text = "质量占比";
((XYDiagram)diagram).AxisY.Title.Visible = true;
//((XYDiagram)diagram).AxisX.Title.Text = "矿物成分";
((XYDiagram)diagram).AxisX.Title.Visible = true;
((XYDiagram)diagram).AxisY.Visibility = DevExpress.Utils.DefaultBoolean.True;
// Access the type-specific options of the diagram.
((XYDiagram)diagram).EnableAxisXZooming = true;
}
///
/// 饼状图突出设置
///
/// ChartControl
/// Series【仅仅适用于PieSeriesView】
/// 突出模式【枚举】
/// 突出间距
/// 是否可以拖动突出饼状
public static void SetPieExplode(this ChartControl chart, Series pieSeries, PieExplodeMode explodeMode, int explodedValue, bool dragPie)
{
if (pieSeries.View is PieSeriesView)
{
if (!chart.RuntimeHitTesting)
chart.RuntimeHitTesting = true;
PieSeriesView _pieView = pieSeries.View as PieSeriesView;
_pieView.ExplodeMode = explodeMode;
_pieView.ExplodedDistancePercentage = explodedValue;
_pieView.RuntimeExploding = dragPie;
}
}
///
/// Doughnut突出设置
///
/// ChartControl
/// Series【仅仅适用于PieSeriesView】
/// 突出模式【枚举】
/// 突出间距
/// 是否可以拖动突出饼状
public static void SetDoughnutExplode(this ChartControl chart, Series series, PieExplodeMode explodeMode, int explodedValue, bool dragPie)
{
if (series.View is DoughnutSeriesView)
{
if (!chart.RuntimeHitTesting)
chart.RuntimeHitTesting = true;
DoughnutSeriesView _View = series.View as DoughnutSeriesView;
_View.ExplodeMode = explodeMode;
_View.ExplodedDistancePercentage = explodedValue;
_View.RuntimeExploding = dragPie;
}
}
public static void ChangeView(ChartControl chartControl, string Serie, string ChartType)
{
Series s = chartControl.GetSeriesByName(Serie);
s.Label.TextPattern = "{V:F2}";
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
s.PointOptions.ValueNumericOptions.Precision = 2;
s.Label.PointOptions.ValueNumericOptions.Precision = 2;
s.LegendTextPattern = "{A}: {VP:P3}";
switch (ChartType)
{
case "折线图":
s.ChangeView(ViewType.Line);
// Access the view-type-specific options of the series.
((LineSeriesView)s.View).LineMarkerOptions.Kind = MarkerKind.Triangle;
((LineSeriesView)s.View).LineStyle.DashStyle = DashStyle.Dash;
((LineSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "柱状图":
s.ChangeView(ViewType.Bar);
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "饼图":
s.ChangeView(ViewType.Pie);
//s.LegendPointOptions.PointView = PointView.ArgumentAndValues;
((PieSeriesLabel)s.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;//检测标签重合
SetPiePercentage(s);
s.Label.TextPattern = "{A}: {VP:P2}";
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.ToolTipEnabled = DefaultBoolean.True;
s.ToolTipPointPattern = "{A}: {VP:P3}";
SetPieExplode(chartControl, s, PieExplodeMode.MinValue, 9, true);
break;
case "圆环图":
s.ChangeView(ViewType.Doughnut);
// Specify the text pattern of series labels.
s.Label.TextPattern = "{A}: {VP:P2}";
// Specify how series points are sorted.
s.SeriesPointsSorting = SortingMode.Ascending;
s.SeriesPointsSortingKey = SeriesPointKey.Argument;
// Specify the behavior of series labels.
((DoughnutSeriesLabel)s.Label).Position = PieSeriesLabelPosition.TwoColumns;
((DoughnutSeriesLabel)s.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
((DoughnutSeriesLabel)s.Label).ResolveOverlappingMinIndent = 5;
// Access the diagram's options.
((SimpleDiagram)chartControl.Diagram).Dimension = 2;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.ToolTipEnabled = DefaultBoolean.True;
s.ToolTipPointPattern = "{A}: {VP:P3}";
SetDoughnutExplode(chartControl, s, PieExplodeMode.MinValue, 5, true);
break;
case "气泡图":
s.ChangeView(ViewType.Bubble);
((BubbleSeriesView)s.View).BubbleMarkerOptions.Kind = MarkerKind.Circle;
((BubbleSeriesView)s.View).ColorEach = true;
s.CrosshairLabelPattern = "{A}";//鼠标悬浮的时候的焦点显示的格式
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "簇状条形图":
s.ChangeView(ViewType.SideBySideStackedBar);
((SideBySideStackedBarSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "堆积条形图":
s.ChangeView(ViewType.StackedBar);
((StackedBarSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "瀑布图":
s.ChangeView(ViewType.Waterfall);
((WaterfallSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "3D柱状图":
s.ChangeView(ViewType.Bar3D);
// Access the series options.
s.PointOptions.PointView = PointView.ArgumentAndValues;
// Customize the view-type-specific properties of the series.
Bar3DSeriesView Bar3DView = (Bar3DSeriesView)s.View;
Bar3DView.BarDepthAuto = false;
Bar3DView.BarDepth = 1;
Bar3DView.BarWidth = 1;
Bar3DView.Transparency = 80;
Bar3DView.ColorEach = true;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
s.Label.TextPattern = "{V:F2}";
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D圆环图":
s.ChangeView(ViewType.Doughnut3D);
// Adjust the view-type-specific options of the series.
((Doughnut3DSeriesView)s.View).Depth = 11;
((Doughnut3DSeriesView)s.View).HoleRadiusPercent = 30;
((Doughnut3DSeriesView)s.View).ExplodedPoints.Add(s.Points[0]);
// Access the diagram's options.
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseAngles;
((SimpleDiagram3D)chartControl.Diagram).RotationAngleX = -35;
((SimpleDiagram3D)chartControl.Diagram).RuntimeScrolling = false;
((SimpleDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((SimpleDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{A}: {VP:P2}";
s.ToolTipEnabled = DefaultBoolean.True;
s.ToolTipPointPattern = "{A}: {VP:P3}";
((SimpleDiagram3D)chartControl.Diagram).ZoomPercent = 110;
break;
case "3D饼图":
s.ChangeView(ViewType.Pie3D);
// Adjust the value numeric options of the series.
s.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
// Adjust the view-type-specific options of the series.
((Pie3DSeriesView)s.View).Depth = 11;
// Access the diagram's options.
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseAngles;
((SimpleDiagram3D)chartControl.Diagram).RotationAngleX = -35;
((SimpleDiagram3D)chartControl.Diagram).ZoomPercent = 110;
((SimpleDiagram3D)chartControl.Diagram).RuntimeScrolling = false;
((SimpleDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((SimpleDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{A}: {VP:P2}";
break;
case "3D折线图":
s.ChangeView(ViewType.Line3D);
Line3DSeriesView Line3DView = (Line3DSeriesView)s.View;
Line3DView.LineWidth = 3;
Line3DView.LineThickness = 3;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
((XYDiagram3D)chartControl.Diagram).VerticalScrollPercent = 0;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
break;
case "3D百分比堆积条形图":
s.ChangeView(ViewType.FullStackedBar3D);
FullStackedBar3DSeriesView FullStackedBar3DView = (FullStackedBar3DSeriesView)s.View;
FullStackedBar3DView.Transparency = 160;
FullStackedBar3DView.Model = Bar3DModel.Cylinder;
FullStackedBar3DView.ShowFacet = false;
FullStackedBar3DView.ColorEach = true;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D漏斗图":
s.ChangeView(ViewType.Funnel3D);
// Display a title for the series,
// and adjust another view-type-specific options of the series.
Funnel3DSeriesView funnelView = (Funnel3DSeriesView)s.View;
funnelView.HeightToWidthRatio = 1;
funnelView.HoleRadiusPercent = 70;
funnelView.PointDistance = 5;
// Adjust the value numeric options of the series.
s.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
s.PointOptions.ValueNumericOptions.Precision = 2;
// Access the view-type-specific series options.
((FunnelPointOptions)s.PointOptions).PercentOptions.ValueAsPercent = true;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{A}: {VP:P2}";
((FunnelDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((FunnelDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((FunnelDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((FunnelDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((FunnelDiagram3D)chartControl.Diagram).ZoomPercent = 100;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
break;
case "3DManhattan 条形图":
s.ChangeView(ViewType.ManhattanBar);
Bar3DSeriesView ManhattanBarView = (Bar3DSeriesView)s.View;
ManhattanBarView.BarDepthAuto = false;
ManhattanBarView.BarDepth = 1;
ManhattanBarView.Transparency = 80;
ManhattanBarView.ShowFacet = false;
ManhattanBarView.Model = Bar3DModel.Cylinder;
ManhattanBarView.ColorEach = true;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{V:F2}";
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D堆积条形图":
s.ChangeView(ViewType.StackedBar3D);
StackedBar3DSeriesView StackedBar3DView = (StackedBar3DSeriesView)s.View;
StackedBar3DView.BarDepthAuto = false;
StackedBar3DView.BarDepth = 1.5;
StackedBar3DView.BarWidth = 1;
StackedBar3DView.Transparency = 160;
StackedBar3DView.Model = Bar3DModel.Cylinder;
StackedBar3DView.ColorEach = true;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{V:F2}";
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D阶梯线图":
s.ChangeView(ViewType.StepLine3D);
StepLine3DSeriesView StepLine3DView = (StepLine3DSeriesView)s.View;
StepLine3DView.LineWidth = 5;
StepLine3DView.LineThickness = 3;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
// Access the diagram's options.
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
s.Label.TextPattern = "{V:F2}";
break;
}
}
public static void ChangeView2(ChartControl chartControl, string ChartType)
{
foreach (Series s in chartControl.Series)
{
s.Label.TextPattern = "{V:F2}";
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
s.PointOptions.ValueNumericOptions.Precision = 2;
s.Label.PointOptions.ValueNumericOptions.Precision = 2;
s.LegendTextPattern = "{A}: {VP:P3}";
switch (ChartType)
{
case "折线图":
s.ChangeView(ViewType.Line);
((LineSeriesView)s.View).LineMarkerOptions.Kind = MarkerKind.Triangle;
((LineSeriesView)s.View).LineStyle.DashStyle = DashStyle.Dash;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "柱状图":
s.ChangeView(ViewType.Bar);
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "饼图":
s.ChangeView(ViewType.Pie);
((PieSeriesLabel)s.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;//检测标签重合
SetPiePercentage(s);
s.Label.TextPattern = "{A}: {VP:P2}";
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.ToolTipEnabled = DefaultBoolean.True;
s.ToolTipPointPattern = "{A}: {VP:P3}";
SetPieExplode(chartControl, s, PieExplodeMode.MinValue, 9, true);
break;
case "圆环图":
s.ChangeView(ViewType.Doughnut);
s.Label.TextPattern = "{A}: {VP:P2}";
s.SeriesPointsSorting = SortingMode.Ascending;
s.SeriesPointsSortingKey = SeriesPointKey.Argument;
((DoughnutSeriesLabel)s.Label).Position = PieSeriesLabelPosition.TwoColumns;
((DoughnutSeriesLabel)s.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
((DoughnutSeriesLabel)s.Label).ResolveOverlappingMinIndent = 5;
((SimpleDiagram)chartControl.Diagram).Dimension = 2;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.ToolTipEnabled = DefaultBoolean.True;
s.ToolTipPointPattern = "{A}: {VP:P3}";
SetDoughnutExplode(chartControl, s, PieExplodeMode.MinValue, 5, true);
break;
case "气泡图":
s.ChangeView(ViewType.Bubble);
((BubbleSeriesView)s.View).BubbleMarkerOptions.Kind = MarkerKind.Circle;
s.CrosshairLabelPattern = "{A}";//鼠标悬浮的时候的焦点显示的格式
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "簇状条形图":
s.ChangeView(ViewType.SideBySideStackedBar);
((SideBySideStackedBarSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "堆积条形图":
s.ChangeView(ViewType.StackedBar);
((StackedBarSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "瀑布图":
s.ChangeView(ViewType.Waterfall);
((WaterfallSeriesView)s.View).ColorEach = true;
SetAxisForXYDiagram(chartControl.Diagram);
break;
case "3D柱状图":
s.ChangeView(ViewType.Bar3D);
s.PointOptions.PointView = PointView.ArgumentAndValues;
Bar3DSeriesView Bar3DView = (Bar3DSeriesView)s.View;
Bar3DView.BarDepthAuto = false;
Bar3DView.BarDepth = 1;
Bar3DView.BarWidth = 1;
Bar3DView.Transparency = 80;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
s.Label.TextPattern = "{V:F2}";
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D圆环图":
s.ChangeView(ViewType.Doughnut3D);
((Doughnut3DSeriesView)s.View).Depth = 11;
((Doughnut3DSeriesView)s.View).HoleRadiusPercent = 30;
((Doughnut3DSeriesView)s.View).ExplodedPoints.Add(s.Points[0]);
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseAngles;
((SimpleDiagram3D)chartControl.Diagram).RotationAngleX = -35;
((SimpleDiagram3D)chartControl.Diagram).RuntimeScrolling = false;
((SimpleDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((SimpleDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{A}: {VP:P2}";
s.ToolTipEnabled = DefaultBoolean.True;
s.ToolTipPointPattern = "{A}: {VP:P3}";
((SimpleDiagram3D)chartControl.Diagram).ZoomPercent = 110;
break;
case "3D饼图":
s.ChangeView(ViewType.Pie3D);
s.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
((Pie3DSeriesView)s.View).Depth = 11;
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseAngles;
((SimpleDiagram3D)chartControl.Diagram).RotationAngleX = -35;
((SimpleDiagram3D)chartControl.Diagram).ZoomPercent = 110;
((SimpleDiagram3D)chartControl.Diagram).RuntimeScrolling = false;
((SimpleDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((SimpleDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((SimpleDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{A}: {VP:P2}";
break;
case "3D折线图":
s.ChangeView(ViewType.Line3D);
Line3DSeriesView Line3DView = (Line3DSeriesView)s.View;
Line3DView.LineWidth = 3;
Line3DView.LineThickness = 3;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
((XYDiagram3D)chartControl.Diagram).VerticalScrollPercent = 0;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
break;
case "3D百分比堆积条形图":
s.ChangeView(ViewType.FullStackedBar3D);
FullStackedBar3DSeriesView FullStackedBar3DView = (FullStackedBar3DSeriesView)s.View;
FullStackedBar3DView.Transparency = 160;
FullStackedBar3DView.Model = Bar3DModel.Cylinder;
FullStackedBar3DView.ShowFacet = false;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D漏斗图":
s.ChangeView(ViewType.Funnel3D);
Funnel3DSeriesView funnelView = (Funnel3DSeriesView)s.View;
funnelView.HeightToWidthRatio = 1;
funnelView.HoleRadiusPercent = 70;
funnelView.PointDistance = 5;
s.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
s.PointOptions.ValueNumericOptions.Precision = 2;
((FunnelPointOptions)s.PointOptions).PercentOptions.ValueAsPercent = true;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{A}: {VP:P2}";
((FunnelDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((FunnelDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((FunnelDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((FunnelDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((FunnelDiagram3D)chartControl.Diagram).ZoomPercent = 100;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
break;
case "3DManhattan 条形图":
s.ChangeView(ViewType.ManhattanBar);
Bar3DSeriesView ManhattanBarView = (Bar3DSeriesView)s.View;
ManhattanBarView.BarDepthAuto = false;
ManhattanBarView.BarDepth = 1;
ManhattanBarView.Transparency = 80;
ManhattanBarView.ShowFacet = false;
ManhattanBarView.Model = Bar3DModel.Cylinder;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{V:F2}";
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D堆积条形图":
s.ChangeView(ViewType.StackedBar3D);
StackedBar3DSeriesView StackedBar3DView = (StackedBar3DSeriesView)s.View;
StackedBar3DView.BarDepthAuto = false;
StackedBar3DView.BarDepth = 1.5;
StackedBar3DView.BarWidth = 1;
StackedBar3DView.Transparency = 160;
StackedBar3DView.Model = Bar3DModel.Cylinder;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
s.Label.TextPattern = "{V:F2}";
s.LegendTextPattern = "{A}: {V:F3}";
break;
case "3D阶梯线图":
s.ChangeView(ViewType.StepLine3D);
StepLine3DSeriesView StepLine3DView = (StepLine3DSeriesView)s.View;
StepLine3DView.LineWidth = 5;
StepLine3DView.LineThickness = 3;
((XYDiagram3D)chartControl.Diagram).RuntimeScrolling = true;
((XYDiagram3D)chartControl.Diagram).RuntimeZooming = true;
((XYDiagram3D)chartControl.Diagram).RuntimeRotation = true;
((XYDiagram3D)chartControl.Diagram).RotationType = RotationType.UseMouseAdvanced;
((XYDiagram3D)chartControl.Diagram).ZoomPercent = 125;
chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
s.Label.TextPattern = "{V:F2}";
break;
}
}
}
#region 通用
///
/// [颜色:16进制转成RGB]
///
/// 设置16进制颜色 [返回RGB]
///
public static System.Drawing.Color colorHx16toRGB(string strHxColor)
{
try
{
if (strHxColor.Length == 0)
{//如果为空
return System.Drawing.Color.FromArgb(255, 255, 204);//设为白色
}
else
{//转换颜色
return System.Drawing.Color.FromArgb(System.Int32.Parse(strHxColor.Substring(1, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(3, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(5, 2), System.Globalization.NumberStyles.AllowHexSpecifier));
}
}
catch
{//设为白色
return System.Drawing.Color.FromArgb(255, 255, 204);
}
}
#endregion
}
}