2012-10-12 67 views
3

我正在使用TreeChart制作如图所示的指标。 但我有一个问题,我不能使三色渐变到那个衡量标准。这是我的代码圆形渐变 - TeeChart - MonoAndroid

 Steema.TeeChart.TChart tChart = new Steema.TeeChart.TChart(this); 
     tChart.Panel.Transparent = false; 
     Steema.TeeChart.Styles.Gauges gauges = new Steema.TeeChart.Styles.Gauges(tChart.Chart); 
     Steema.TeeChart.Drawing.Gradient g = new Steema.TeeChart.Drawing.Gradient(gauges.Chart); 


     gauges.bBrush.Gradient.Direction = Steema.TeeChart.Drawing.GradientDirection.DiagonalUp; 
     gauges.bBrush.Gradient.StartColor = System.Drawing.Color.Red; 
     gauges.bBrush.Gradient.MiddleColor = System.Drawing.Color.Black; 
     gauges.bBrush.Gradient.EndColor = System.Drawing.Color.Blue; 
     gauges.bBrush.Gradient.Visible = true; 
     gauges.Pen.Color = System.Drawing.Color.FromArgb(5,56,73); 

     gauges.TotalAngle = 180; // circular arc 
     gauges.RotationAngle = 180; // arc rotation angle 
     gauges.HandStyle = Steema.TeeChart.Styles.HandStyle.Triangle; // pointer style 
     gauges.Center.Style = Steema.TeeChart.Styles.PointerStyles.Circle; // SPHERE center circle style 
     gauges.Center.HorizSize = 5; // center circle level size 
     gauges.Center.VertSize = 5; // center circle vertical size 

     gauges.ShowInLegend = false; // display the legend 
     gauges.HandDistance = 23; // pointer length 

     //--------------------------------------------------- 
     gauges.Value = 80; 
     gauges.Minimum = 0; // minimum; 
     gauges.Maximum = 100; // maximum value 
     //---------------------------------------------------- 

     gauges.MinorTickDistance = 0; 

     gauges.Pen.DashWidth = 23; 
     gauges.Chart.Axes.Left.AxisPen.Width = 65; // brush width; 
     gauges.Chart.Axes.Left.AxisPen.Color = System.Drawing.Color.Red; 
     gauges.Chart.Axes.Left.MinorTickCount = 5; // the scale value scale line number 
     gauges.Chart.Axes.Left.MinorTicks.Length = 10; // the scale value scale line length of 
     gauges.Chart.Axes.Left.Ticks.Length = 20; // display the value scale line length of 
     gauges.Chart.Axes.Left.Increment = 3000; // the scale value of interval size 

     SetContentView(tChart) ; 

我也试过下面的代码行

 gauges.CircleGradient.Direction = Steema.TeeChart.Drawing.GradientDirection.DiagonalUp; 
     gauges.CircleGradient.Visible = true; 
     gauges.CircleGradient.StartColor = System.Drawing.Color.Green; 
     gauges.CircleGradient.EndColor = System.Drawing.Color.Red; 
     gauges.CircleGradient.UseStandardGradient = true; 

我希望我帮助

问候

回答

2

您应该使用Steema.TeeChart.Styles.CircularGauge而不是Steema.TeeChart.Styles.Gauges这是一个更简单的规格版本。例如,使用下面的代码片段,您在您的链接得到类似规的图像:

Circular gauge with TeeChart

这是类似于你在找什么?

tChart1.Header.Visible = false; 

    Steema.TeeChart.Styles.CircularGauge circularGauge1 = new Steema.TeeChart.Styles.CircularGauge(tChart1.Chart); 

    circularGauge1.Frame.Visible = false; 
    circularGauge1.FaceBrush.Visible = false; 
    circularGauge1.DisplayTotalAngle = 180; 
    circularGauge1.TotalAngle = 180; 
    circularGauge1.Value = 200; 
    circularGauge1.Ticks.Visible = false; 
    circularGauge1.Minimum = 0; 
    circularGauge1.Maximum = 1000; 
    circularGauge1.Axis.AxisPen.Visible = false; 
    circularGauge1.Axis.Increment = 500; 
    circularGauge1.RedLine.Visible = false; 
    circularGauge1.GreenLineStartValue = 0; 
    circularGauge1.GreenLineEndValue = 1000; 
    circularGauge1.GreenLine.Gradient.Direction = Steema.TeeChart.Drawing.GradientDirection.LeftRight; 
    circularGauge1.GreenLine.Gradient.UseMiddle = true; 
    circularGauge1.GreenLine.Gradient.StartColor = Color.Orange; 
    circularGauge1.GreenLine.Gradient.MiddleColor = Color.Yellow; 
    circularGauge1.GreenLine.Gradient.EndColor = Color.Green; 
    circularGauge1.GreenLine.Pen.Visible = false; 
+0

,我认为报价不适合你的意思是gauge.The客户端的方式替代希望这样的事情http://greatofficetips.files.wordpress.com/2012/09/screenshot-9_21_2012-11_48_57- pm.jpg 我希望你能帮助我。 谢谢 –

+0

@dev_xinito好的,我已经更新了我的答案并回复了这个。 –

+0

感谢Narcia,正是我想要的。如果你可以改变指标的类型,你能帮助我吗?在我的例子中,我把这些代码行gauges.HandStyle = Steema.TeeChart.Styles.HandStyle.Triangle; //指针样式 gauges.Center.Style = Steema.TeeChart.Styles.PointerStyles.Circle; //球体中心圈风格 –