public override TKChartPointLabel LabelForDataPoint(TKChart chart, TKChartData dataPoint, string propertyName, TKChartSeries series, nuint dataIndex)
        {
            // If it's a BarSeries use vertical label
            if (series is TKChartColumnSeries)
            {
                if (this.rotateLabels)
                {
                    return(CreateVerticalLabel(series, (TKChartDataPoint)dataPoint));
                }
                else
                {
                    return(CreateHorizontalLabel(series, (TKChartDataPoint)dataPoint));
                }
            }

            if (series is TKChartDonutSeries)
            {
                return(CreateDonutLabel(series, (TKChartDataPoint)dataPoint));
            }

            if (series is TKChartPieSeries)
            {
                return(CreatePieLabel(series, (TKChartDataPoint)dataPoint));
            }

            // use horizontal label for everything else
            return(CreateHorizontalLabel(series, (TKChartDataPoint)dataPoint));
        }
 public override void PointDeselected(TKChart chart, TKChartData point, TKChartSeries series, nint index)
 {
     if (this.labelRender != null)
     {
         this.labelRender.SelectedDataPoint = -1;
     }
 }
			public override void PointSelected (TKChart chart, TKChartData point, TKChartSeries series, nint index)
			{
				if (this.labelRender != null) {
					this.labelRender.SelectedSeries = (int)series.Index;
					this.labelRender.SelectedDataPoint = index;
				}
			}
 public override void PointSelected(TKChart chart, TKChartData point, TKChartSeries series, nint index)
 {
     if (this.labelRender != null)
     {
         this.labelRender.SelectedSeries    = (int)series.Index;
         this.labelRender.SelectedDataPoint = index;
     }
 }
Exemple #5
0
			public override TKChartPointLabel LabelForDataPoint (TKChart chart, TKChartData dataPoint, string propertyName, TKChartSeries series, nuint dataIndex)
			{
				TKChartDataPoint point = (TKChartDataPoint)dataPoint;
				if (series.Index == (nuint)this.selectedSeriesIndex && dataIndex == (nuint)this.selectedDataPointIndex) {
					return new MyPointLabel (point, series, String.Format ("{0}", point.DataYValue));
				}

				
				return new TKChartPointLabel (point, series, String.Format ("{0}", point.DataYValue));
			}
Exemple #6
0
            public override TKChartPointLabel LabelForDataPoint(TKChart chart, TKChartData dataPoint, string propertyName, TKChartSeries series, nuint dataIndex)
            {
                TKChartDataPoint point = (TKChartDataPoint)dataPoint;

                if (series.Index == (nuint)this.selectedSeriesIndex && dataIndex == (nuint)this.selectedDataPointIndex)
                {
                    return(new MyPointLabel(point, series, String.Format("{0}", point.DataYValue)));
                }


                return(new TKChartPointLabel(point, series, String.Format("{0}", point.DataYValue)));
            }
        public override void RenderPointLabels(TKChartSeries series, CGRect bounds, CGContext ctx)
        {
            if (labelLayer != null)
            {
                labelLayer.RemoveFromSuperLayer();
            }

            for (int i = 0; i < series.Items.Length; i++)
            {
                TKChartData dataPoint = (TKChartData)series.Items [i];
                CGPoint     location  = base.LocationForDataPoint(dataPoint, series, bounds);
                if (!bounds.Contains(location))
                {
                    continue;
                }

                TKChartPointLabel      label = this.LabelForDataPoint(dataPoint, series, (uint)i);
                CGRect                 labelRect;
                TKChartPointLabelStyle labelStyle = series.Style.PointLabelStyle;
                if (this.isSelectedPoint)
                {
                    labelRect = new CGRect((float)(location.X - 17.5), (float)(location.Y - 10 - 2.5 * Math.Abs(labelStyle.LabelOffset.Vertical)), 35, 30);
                    if (labelRect.Y < bounds.Y)
                    {
                        this.labelLayer.IsOutsideBounds = true;
                        labelRect.Y = (float)(location.Y + 10 + 2.5 * Math.Abs(labelStyle.LabelOffset.Vertical) - labelRect.Size.Height);
                    }
                    else
                    {
                        this.labelLayer.IsOutsideBounds = false;
                    }

                    this.labelLayer.Frame = labelRect;
                    this.Render.AddSublayer(this.labelLayer);
                    this.labelLayer.SetNeedsDisplay();
                }
                else
                {
                    CGSize labelSize = label.SizeThatFits(bounds.Size);
                    labelRect = new CGRect((float)(location.X - labelSize.Width / 2.0 + labelStyle.LabelOffset.Horizontal),
                                           (float)(location.Y - labelSize.Height / 2.0 + labelStyle.LabelOffset.Vertical), labelSize.Width, labelSize.Height);

                    if (labelRect.Y < this.Render.Bounds.Y)
                    {
                        labelRect.Y = (float)(location.Y - labelSize.Height / 2.0 + Math.Abs(labelStyle.LabelOffset.Vertical));
                    }

                    label.DrawInContext(ctx, labelRect, new TKChartVisualPoint(new PointF(0, 0)), UIColor.White);
                }
            }
        }
        public override TKChartPointLabel LabelForDataPoint(TKChart chart, TKChartData dataPoint, string propertyName, TKChartSeries series, nuint dataIndex)
        {
            // On iOS, a vertical bar chart is a "Column" series
            if (series is TKChartColumnSeries)
            {
                // If it's a BarSeries use vertical label
                TKChartDataPoint point = (TKChartDataPoint)dataPoint;
                series.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;

                series.Style.PointLabelStyle.LayoutMode = TKChartPointLabelLayoutMode.Manual;
                series.Style.PointLabelStyle.Fill       = new TKSolidFill(UIColor.White);
                series.Style.PointLabelStyle.Insets     = new UIEdgeInsets(-1, -3, -1, -3);

                // Position the label at your preferred position
                series.Style.PointLabelStyle.LabelOffset = new UIOffset(0, 200);

                // Set the text properties
                series.Style.PointLabelStyle.TextOrientation = TKChartPointLabelOrientation.Vertical;
                series.Style.PointLabelStyle.TextAlignment   = UITextAlignment.Center;
                series.Style.PointLabelStyle.TextColor       = UIColor.Blue;
                series.Style.PointLabelStyle.TextHidden      = false;

                return(new TKChartPointLabel(point, series, point.DataYValue.ToString()));
            }
            else
            {
                // use horizontal label for everything else
                TKChartDataPoint point = (TKChartDataPoint)dataPoint;

                series.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new System.Drawing.SizeF(8, 8));
                series.Style.PointLabelStyle.TextHidden      = false;
                series.Style.PointLabelStyle.LabelOffset     = new UIOffset(0, -24);
                series.Style.PointLabelStyle.Insets          = new UIEdgeInsets(-1, -5, -1, -5);
                series.Style.PointLabelStyle.LayoutMode      = TKChartPointLabelLayoutMode.Manual;
                series.Style.PointLabelStyle.Font            = UIFont.SystemFontOfSize(10);
                series.Style.PointLabelStyle.TextAlignment   = UITextAlignment.Center;
                series.Style.PointLabelStyle.Fill            = new TKSolidFill(new UIColor((float)(108 / 255.0), (float)(181 / 255.0), (float)(250 / 255.0), (float)1.0));
                series.Style.PointLabelStyle.ClipMode        = TKChartPointLabelClipMode.Hidden;
                series.Style.PointLabelStyle.TextOrientation = TKChartPointLabelOrientation.Horizontal;
                series.Style.PointLabelStyle.TextColor       = UIColor.Red;
                series.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;


                return(new TKChartPointLabel(point, series, $"{point.DataName}, {point.DataYValue}"));
            }
        }
		public override TKChartPointLabel LabelForDataPoint (TKChartData dataPoint, TKChartSeries series, nuint dataIndex)
		{
			TKChartDataPoint point = (TKChartDataPoint)dataPoint;
			if (series.Index == (nuint)this.SelectedSeries && dataIndex == (nuint)this.SelectedDataPoint) {
				if (this.labelLayer == null) {
					this.labelLayer = new SelectedPointLabel ();
				}

				this.labelLayer.LabelStyle = series.Style.PointLabelStyle;
				this.labelLayer.Text = String.Format ("{0}", point.DataYValue);
				this.isSelectedPoint = true;
				return null;
			}

			this.isSelectedPoint = false;
			return new TKChartPointLabel (dataPoint, series, String.Format ("{0}", point.DataYValue));
		}
Exemple #10
0
            public override string TextForLabelAtPoint(TKChart chart, TKChartData dataPoint, TKChartSeries series, nuint dataIndex)
            {
                if (series is TKChartPieSeries)
                {
                    TKChartDataPoint point = (TKChartDataPoint)dataPoint;
                    return(point.DataName);
                }
                else if (series is TKChartBarSeries)
                {
                    TKChartDataPoint point = (TKChartDataPoint)dataPoint;
                    return(String.Format("{0}", point.DataXValue));
                }
                else if (series is TKChartOhlcSeries)
                {
                    TKChartFinancialDataPoint point = (TKChartFinancialDataPoint)dataPoint;
                    return(String.Format("O:{0}\nH:{1}\nL:{2}\nC:{3}", point.Open, point.High, point.Low, point.Close));
                }

                return(String.Format("{0}", ((TKChartDataPoint)dataPoint).DataYValue));
            }
        public override TKChartPointLabel LabelForDataPoint(TKChartData dataPoint, TKChartSeries series, nuint dataIndex)
        {
            TKChartDataPoint point = (TKChartDataPoint)dataPoint;

            if (series.Index == (nuint)this.SelectedSeries && dataIndex == (nuint)this.SelectedDataPoint)
            {
                if (this.labelLayer == null)
                {
                    this.labelLayer = new SelectedPointLabel();
                }

                this.labelLayer.LabelStyle = series.Style.PointLabelStyle;
                this.labelLayer.Text       = String.Format("{0}", point.DataYValue);
                this.isSelectedPoint       = true;
                return(null);
            }

            this.isSelectedPoint = false;
            return(new TKChartPointLabel(dataPoint, series, String.Format("{0}", point.DataYValue)));
        }
Exemple #12
0
		public MyPointLabel(TKChartData dataPoint, TKChartSeries series, string text) : base(dataPoint, series, text)
		{
		}
Exemple #13
0
 public MyPointLabel(TKChartData dataPoint, TKChartPointLabelStyle style, string text)
     : base(dataPoint, style, text)
 {
 }
Exemple #14
0
 public override void PointSelected(TKChart chart, TKChartData point, TKChartSeries series, nint index)
 {
     this.selectedSeriesIndex    = (int)series.Index;
     this.selectedDataPointIndex = (int)index;
 }
Exemple #15
0
 public MyPointLabel(TKChartData dataPoint, TKChartSeries series, string text) : base(dataPoint, series, text)
 {
 }
Exemple #16
0
 public MyPointLabel(TKChartData dataPoint, TKChartPointLabelStyle style, string text) : base(dataPoint, style, text)
 {
 }
Exemple #17
0
            public override string TextForLabelAtPoint(TKChart chart, TKChartData dataPoint, TKChartSeries series, nuint dataIndex)
            {
                if (series is TKChartPieSeries) {
                    TKChartDataPoint point = (TKChartDataPoint)dataPoint;
                    return point.DataName;
                }
                else if (series is TKChartBarSeries) {
                    TKChartDataPoint point = (TKChartDataPoint)dataPoint;
                    return String.Format ("{0}", point.DataXValue);
                }
                else if (series is TKChartOhlcSeries) {
                    TKChartFinancialDataPoint point = (TKChartFinancialDataPoint)dataPoint;
                    return String.Format ("O:{0}\nH:{1}\nL:{2}\nC:{3}", point.Open, point.High, point.Low, point.Close);
                }

                return String.Format ("{0}", ((TKChartDataPoint)dataPoint).DataYValue);
            }
			public override void PointDeselected (TKChart chart, TKChartData point, TKChartSeries series, nint index)
			{
				if (this.labelRender != null) {
					this.labelRender.SelectedDataPoint = -1;
				}
			}
Exemple #19
0
 public override void PointDeselected(TKChart chart, TKChartData point, TKChartSeries series, nint index)
 {
     // Here you can perform the desired action when the selection is changed.
 }
 public override void PointSelected(TKChart chart, TKChartData point, TKChartSeries series, nint index)
 {
     this.selectedSeriesIndex = (int)series.Index;
     this.selectedDataPointIndex = (int)index;
 }