Example #1
0
        private void _chart_OnDrawLine(object sender, Charting.Controls.Chart.DrawEventArgs <Events.DoubleDrawingData> e)
        {
            using (CGContext g = UIGraphics.GetCurrentContext())
            {
                g.SetLineWidth(2.5F);
                Colors[e.Data.SeriesNo].SetFill();
                Colors[e.Data.SeriesNo].SetStroke();

                g.MoveTo((float)e.Data.XFrom, (float)e.Data.YFrom);
                g.AddLineToPoint((float)e.Data.XTo, (float)e.Data.YTo);

                g.DrawPath(CGPathDrawingMode.FillStroke);
            }
        }
Example #2
0
        private void _chart_OnDrawBar(object sender, Charting.Controls.Chart.DrawEventArgs <Events.DoubleDrawingData> e)
        {
            using (CGContext g = UIGraphics.GetCurrentContext())
            {
                g.SetLineWidth(1);
                Colors[e.Data.SeriesNo].SetFill();
                Colors[e.Data.SeriesNo].SetStroke();

                RectangleF rect = new RectangleF((float)e.Data.XFrom, (float)e.Data.YFrom, (float)(e.Data.XTo - e.Data.XFrom), (float)(e.Data.YTo - e.Data.YFrom));
                g.AddRect(rect);

                g.DrawPath(CGPathDrawingMode.FillStroke);
            }
        }
Example #3
0
        private void _chart_OnDrawCircle(object sender, Charting.Controls.Chart.DrawEventArgs <Events.SingleDrawingData> e)
        {
            using (CGContext g = UIGraphics.GetCurrentContext())
            {
                g.SetLineWidth(2);
                Colors[e.Data.SeriesNo].SetFill();
                Colors[e.Data.SeriesNo].SetStroke();

                float startAngle = -((float)Math.PI / 2);
                float endAngle   = ((2 * (float)Math.PI) + startAngle);
                g.AddArc((float)e.Data.X, (float)e.Data.Y, (float)e.Data.Size, startAngle, endAngle, true);

                g.DrawPath(CGPathDrawingMode.FillStroke);
            }
        }
Example #4
0
        private void _chart_OnDrawPie(object sender, Charting.Controls.Chart.DrawEventArgs <Events.PieDrawingData> e)
        {
            double totalDegrees = 0;

            for (int i = 0; i < e.Data.Percentages.Length; i++)
            {
                double degrees = e.Data.Percentages[i];
                using (CGContext g = UIGraphics.GetCurrentContext())
                {
                    g.SetLineWidth(2);
                    Colors[i].SetFill();
                    Colors[i].SetStroke();

                    g.AddArc((float)e.Data.X, (float)e.Data.Y, (float)e.Data.Size, (float)(Math.PI / 180 * totalDegrees), (float)(Math.PI / 180 * degrees), true);

                    g.DrawPath(CGPathDrawingMode.FillStroke);
                }
                totalDegrees += degrees;
            }
        }
Example #5
0
        private void _chart_OnDrawText(object sender, Charting.Controls.Chart.DrawEventArgs <Events.TextDrawingData> e)
        {
            NSString str = new NSString(e.Data.Text);

            str.DrawString(new PointF((float)e.Data.X, (float)e.Data.Y), UIFont.SystemFontOfSize(12));
        }