Пример #1
0
        void AddIndicator(TKChartFinancialIndicator indicator)
        {
            indicatorsChart.RemoveAllData();
            indicatorsChart.AddSeries(indicator);

            TKChartNumericAxis yAxis = (TKChartNumericAxis)indicatorsChart.YAxis;

            int max = (int)Math.Ceiling(((NSNumber)yAxis.Range.Maximum).FloatValue);
            int min = (int)Math.Floor(((NSNumber)yAxis.Range.Minimum).FloatValue);

            if (max < 0)
            {
                max *= -1;
                min *= -1;
            }

            yAxis.Range.Minimum     = new NSNumber(min);
            yAxis.Range.Maximum     = new NSNumber(max);
            yAxis.MajorTickInterval = new NSNumber((max - min) / 2.0);
            yAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Bottom;
            yAxis.Style.LineHidden = false;

            TKChartDateTimeAxis xAxis = (TKChartDateTimeAxis)indicatorsChart.XAxis;

            xAxis.Range = series.XAxis.Range;
            xAxis.Style.LabelStyle.TextHidden = true;
            xAxis.Zoom = overlayChart.XAxis.Zoom;
            xAxis.Pan  = overlayChart.XAxis.Pan;
            xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            xAxis.MajorTickInterval     = 1;
        }
Пример #2
0
        void loadCharts()
        {
            TKChartNumericAxis yAxis = new TKChartNumericAxis();

            yAxis.Range = new TKRange(new NSNumber(250), new NSNumber(750));
            yAxis.Style.LabelStyle.TextAlignment           = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Bottom;
            yAxis.Style.LabelStyle.FirstLabelTextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Top;
            yAxis.AllowZoom = true;
            yAxis.AllowPan  = true;
            series.YAxis    = yAxis;

            NSDateFormatter formatter = new NSDateFormatter();

            formatter.DateFormat = "MM/dd/yyyy";

            NSDate minDate            = formatter.Parse("01/01/2011");
            NSDate maxDate            = formatter.Parse("01/01/2013");
            TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis();

            xAxis.Range = new TKRange(minDate, maxDate);
            xAxis.MinorTickIntervalUnit                    = TKChartDateTimeAxisIntervalUnit.Days;
            xAxis.MajorTickIntervalUnit                    = TKChartDateTimeAxisIntervalUnit.Years;
            xAxis.MajorTickInterval                        = 1;
            xAxis.Style.MajorTickStyle.TicksHidden         = false;
            xAxis.Style.MajorTickStyle.TicksOffset         = -3;
            xAxis.Style.MajorTickStyle.TicksWidth          = 1.5f;
            xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
            xAxis.Style.MajorTickStyle.TicksFill           = new TKSolidFill(UIColor.FromRGB(203 / 255.0f, 203 / 255.0f, 203 / 255.0f));
            xAxis.AllowZoom = true;
            xAxis.AllowPan  = true;
            series.XAxis    = xAxis;

            AddTrendline(new TKChartSimpleMovingAverageIndicator(this.series));
            AddIndicator(new TKChartPercentageVolumeOscillator(this.series));
        }
Пример #3
0
        public void UpdateChart(NSTimer tr)
        {
            this.chart.RemoveAllData();
            Random           r         = new Random();
            TKChartDataPoint dataPoint = new TKChartDataPoint(NSDate.Now, new NSNumber(r.Next() % 70));

            this.dataPoints.Add(dataPoint);
            if (this.dataPoints.Count > 25)
            {
                this.dataPoints.RemoveAt(0);
            }

            this.chart.YAxis = new TKChartNumericAxis(new NSNumber(0), new NSNumber(100));
            TKChartDataPoint    firstPoint = this.dataPoints [0];
            TKChartDataPoint    lastPoint  = this.dataPoints [this.dataPoints.Count - 1];
            TKChartDateTimeAxis xAxis      = new TKChartDateTimeAxis(firstPoint.DataXValue, lastPoint.DataXValue);

            xAxis.Style.LabelStyle.FitMode = TKChartAxisLabelFitMode.None;
            xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
            xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Seconds;
            this.chart.XAxis            = xAxis;

            this.lineSeries = new TKChartLineSeries(this.dataPoints.ToArray());
            this.chart.AddSeries(this.lineSeries);
            this.chart.ReloadData();
        }
Пример #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TKChart chart = new TKChart(this.View.Bounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(chart);

            NSCalendar       calendar           = new NSCalendar(NSCalendarType.Gregorian);
            NSDateComponents dateTimeComponents = new NSDateComponents();

            dateTimeComponents.Year = 2013;
            dateTimeComponents.Day  = 1;

            Random r = new Random();
            List <TKChartDataPoint> list = new List <TKChartDataPoint> ();

            for (int i = 1; i <= 6; i++)
            {
                dateTimeComponents.Month = i;
                list.Add(new TKChartDataPoint(calendar.DateFromComponents(dateTimeComponents), new NSNumber(r.Next() % 100)));
            }

            TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(list.ToArray());

            series.SelectionMode = TKChartSeriesSelectionMode.Series;

            dateTimeComponents.Month = 1;
            NSDate minDate = new NSDate();
            NSDate maxDate = new NSDate();

            minDate = calendar.DateFromComponents(dateTimeComponents);
            dateTimeComponents.Month = 6;
            maxDate = calendar.DateFromComponents(dateTimeComponents);

            // >> chart-axis-datetime-cs
            TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis(minDate, maxDate);

            xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Months;
            xAxis.MajorTickInterval     = 1;
            // << chart-axis-datetime-cs

            // >> chart-category-plot-onticks-cs
            xAxis.PlotMode = TKChartAxisPlotMode.OnTicks;
            // << chart-category-plot-onticks-cs

            chart.XAxis = xAxis;

            chart.AddSeries(series);
        }
Пример #5
0
        void ReloadChart()
        {
            chart.RemoveAllData();

            TKChartSeries series = null;

            if (this.SelectedOption == 0)
            {
                series = new TKChartCandlestickSeries(points.ToArray());
            }
            else
            {
                series = new TKChartOhlcSeries(points.ToArray());
            }
            series.Selection = TKChartSeriesSelection.DataPoint;

            TKChartNumericAxis yAxis = new TKChartNumericAxis(new NSNumber(300), new NSNumber(380));

            yAxis.MajorTickInterval = 20;
            chart.YAxis             = yAxis;

            chart.AddSeries(series);

            TKChartDateTimeAxis xAxis = (TKChartDateTimeAxis)chart.XAxis;

            xAxis.MinorTickIntervalUnit                    = TKChartDateTimeAxisIntervalUnit.Days;
            xAxis.Style.MajorTickStyle.TicksOffset         = -3;
            xAxis.Style.MajorTickStyle.TicksHidden         = false;
            xAxis.Style.MajorTickStyle.TicksWidth          = 1.5f;
            xAxis.Style.MajorTickStyle.TicksFill           = new TKSolidFill(UIColor.FromRGB(203, 203, 203));
            xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;


            // >> chart-zoom-cs
            xAxis.AllowZoom = true;
            yAxis.AllowZoom = true;
            // << chart-zoom-cs

            // >> chart-pan-cs
            xAxis.AllowPan = true;
            yAxis.AllowPan = true;
            // << chart-pan-cs

            yAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Bottom | TKChartAxisLabelAlignment.Right;



            chart.ReloadData();
        }
Пример #6
0
        void LoadFinancialSeries(object sender, EventArgs e)
        {
            chart.RemoveAllData();
            TKChartOhlcSeries ohlcSeries = new TKChartOhlcSeries(ohlcData.ToArray());

            ohlcSeries.Style.PointLabelStyle.TextHidden    = false;
            ohlcSeries.Style.PointLabelStyle.LabelOffset   = new UIOffset(0, -40);
            ohlcSeries.Style.PointLabelStyle.TextAlignment = UITextAlignment.Justified;
            chart.AddSeries(ohlcSeries);
            TKChartDateTimeAxis xAxis = (TKChartDateTimeAxis)chart.XAxis;

            xAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Days;
            xAxis.MajorTickInterval     = 1;
            xAxis.PlotMode = TKChartAxisPlotMode.BetweenTicks;
        }
Пример #7
0
        void loadCharts()
        {
            overlayChart.RemoveAllData();
            indicatorsChart.RemoveAllData();

            TKChartNumericAxis yAxis = new TKChartNumericAxis();

            yAxis.Range = new TKRange(new NSNumber(250), new NSNumber(750));
            yAxis.Style.LabelStyle.TextAlignment           = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Bottom;
            yAxis.Style.LabelStyle.FirstLabelTextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Top;
            yAxis.AllowZoom = true;
            yAxis.AllowPan  = true;
            series.YAxis    = yAxis;

            NSDateFormatter formatter = new NSDateFormatter();

            formatter.DateFormat = "MM/dd/yyyy";

            NSDate minDate            = formatter.Parse("01/01/2011");
            NSDate maxDate            = formatter.Parse("01/01/2013");
            TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis();

            xAxis.Range = new TKRange(minDate, maxDate);
            xAxis.MinorTickIntervalUnit                    = TKChartDateTimeAxisIntervalUnit.Days;
            xAxis.MajorTickIntervalUnit                    = TKChartDateTimeAxisIntervalUnit.Years;
            xAxis.MajorTickInterval                        = 1;
            xAxis.Style.MajorTickStyle.TicksHidden         = false;
            xAxis.Style.MajorTickStyle.TicksOffset         = -3;
            xAxis.Style.MajorTickStyle.TicksWidth          = 1.5f;
            xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
            xAxis.Style.MajorTickStyle.TicksFill           = new TKSolidFill(UIColor.FromRGB(203 / 255.0f, 203 / 255.0f, 203 / 255.0f));
            xAxis.AllowZoom = true;
            xAxis.AllowPan  = true;
            series.XAxis    = xAxis;

            OptionInfo info = Trendlines [SelectedTrendLine];

            info.Handler(info, EventArgs.Empty);

            info = Indicators [SelectedIndicator];
            info.Handler(info, EventArgs.Empty);
        }
Пример #8
0
		public void UpdateChart (NSTimer tr) {
			this.chart.RemoveAllData ();
			Random r = new Random ();
			TKChartDataPoint dataPoint = new TKChartDataPoint (NSDate.Now, new NSNumber (r.Next () % 70));
			this.dataPoints.Add (dataPoint);
			if (this.dataPoints.Count > 25) {
				this.dataPoints.RemoveAt (0);
			}

			this.chart.YAxis = new TKChartNumericAxis (new NSNumber (0), new NSNumber (100));
			TKChartDataPoint firstPoint = this.dataPoints [0];
			TKChartDataPoint lastPoint = this.dataPoints [this.dataPoints.Count - 1];
			TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis (firstPoint.DataXValue, lastPoint.DataXValue);
			xAxis.Style.LabelStyle.FitMode = TKChartAxisLabelFitMode.None;
			xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
			xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Seconds;
			this.chart.XAxis = xAxis;

			this.lineSeries = new TKChartLineSeries (this.dataPoints.ToArray ());
			this.chart.AddSeries (this.lineSeries);
			this.chart.ReloadData ();
		}
Пример #9
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			TKChart chart = new TKChart (this.View.Bounds);
			chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
			this.View.AddSubview (chart);

			NSCalendar calendar = new NSCalendar (NSCalendarType.Gregorian);
			NSDateComponents dateTimeComponents = new NSDateComponents ();
			dateTimeComponents.Year = 2013;
			dateTimeComponents.Day = 1;

			Random r = new Random ();
			List<TKChartDataPoint> list = new List<TKChartDataPoint> ();
			for (int i = 1; i <= 6; i++) {
				dateTimeComponents.Month = i;
				list.Add(new TKChartDataPoint(calendar.DateFromComponents(dateTimeComponents), new NSNumber(r.Next() % 100)));
			}

			TKChartSplineAreaSeries series = new TKChartSplineAreaSeries (list.ToArray());
			series.SelectionMode = TKChartSeriesSelectionMode.Series;

			dateTimeComponents.Month = 1;
			NSDate minDate = new NSDate ();
			NSDate maxDate = new NSDate ();
			minDate = calendar.DateFromComponents (dateTimeComponents);
			dateTimeComponents.Month = 6;
			maxDate = calendar.DateFromComponents (dateTimeComponents);

			TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis (minDate, maxDate);
			xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Months;
			xAxis.MajorTickInterval = 1;
			chart.XAxis = xAxis;

			chart.AddSeries (series);
		}
Пример #10
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            TKChart chart = new TKChart (this.ExampleBounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview (chart);

            TKChartNumericAxis gdpInPoundsYAxis = new TKChartNumericAxis (new NSNumber(1050), new NSNumber(1400));
            gdpInPoundsYAxis.MajorTickInterval = 50;
            gdpInPoundsYAxis.Position = TKChartAxisPosition.Left;
            gdpInPoundsYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            gdpInPoundsYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInPoundsYAxis.Style.LineHidden = false;
            chart.AddAxis (gdpInPoundsYAxis);
            chart.YAxis = gdpInPoundsYAxis;

            TKChartDateTimeAxis periodXAxis = new TKChartDateTimeAxis ();
            periodXAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MajorTickInterval = 1;
            periodXAxis.Position = TKChartAxisPosition.Bottom;
            periodXAxis.PlotMode = TKChartAxisPlotMode.BetweenTicks;
            chart.AddAxis (periodXAxis);

            TKChartNumericAxis gdpInvestmentYAxis = new TKChartNumericAxis (new NSNumber(0), new NSNumber(20));
            gdpInvestmentYAxis.MajorTickInterval = 5;
            gdpInvestmentYAxis.Position = TKChartAxisPosition.Right;
            gdpInvestmentYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            gdpInvestmentYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInvestmentYAxis.Style.LineHidden = false;
            chart.AddAxis (gdpInvestmentYAxis);

            TKChartNumericAxis gdpGrowthUpAnnualChangeYAxis = new TKChartNumericAxis (new NSNumber(-6), new NSNumber(4));
            gdpGrowthUpAnnualChangeYAxis.MajorTickInterval = 1;
            gdpGrowthUpAnnualChangeYAxis.Position = TKChartAxisPosition.Right;
            gdpGrowthUpAnnualChangeYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            gdpGrowthUpAnnualChangeYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpGrowthUpAnnualChangeYAxis.Style.LineHidden = false;
            chart.AddAxis (gdpGrowthUpAnnualChangeYAxis);

            TKChartNumericAxis grossNationalSavingsAnnualGrowthUpYAxis = new TKChartNumericAxis (new NSNumber(0), new NSNumber(16));
            grossNationalSavingsAnnualGrowthUpYAxis.MajorTickInterval = 2;
            grossNationalSavingsAnnualGrowthUpYAxis.Position = TKChartAxisPosition.Right;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.MajorTickStyle.TicksHidden = false;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LineHidden = false;
            chart.AddAxis (grossNationalSavingsAnnualGrowthUpYAxis);

            NSDate date2001 = DateWithYear (2001, 12, 31);
            NSDate date2002 = DateWithYear (2002, 12, 31);
            NSDate date2003 = DateWithYear (2003, 12, 31);
            NSDate date2004 = DateWithYear (2004, 12, 31);
            NSDate date2005 = DateWithYear (2005, 12, 31);

            TKChartDataPoint[] gdpInPounds = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(1200)),
                new TKChartDataPoint(date2002, new NSNumber(1200)),
                new TKChartDataPoint(date2003, new NSNumber(1225)),
                new TKChartDataPoint(date2004, new NSNumber(1300)),
                new TKChartDataPoint(date2005, new NSNumber(1350))
            };

            TKChartColumnSeries gdpInPoundsSeries = new TKChartColumnSeries  (gdpInPounds);
            gdpInPoundsSeries.XAxis = periodXAxis;
            gdpInPoundsSeries.YAxis = gdpInPoundsYAxis;
            gdpInPoundsSeries.SelectionMode = TKChartSeriesSelectionMode.Series;
            chart.AddSeries (gdpInPoundsSeries);

            TKChartDataPoint[] gdpGrowthUpAnnual = new TKChartDataPoint[] {
                new TKChartDataPoint (date2001, new NSNumber (4)),
                new TKChartDataPoint (date2002, new NSNumber (3)),
                new TKChartDataPoint (date2003, new NSNumber (2)),
                new TKChartDataPoint (date2004, new NSNumber (-5)),
                new TKChartDataPoint (date2005, new NSNumber (1))
            };

            float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 7 : 17;

            TKChartLineSeries gdpGrowthUpSeries = new TKChartLineSeries (gdpGrowthUpAnnual);
            gdpGrowthUpSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF (shapeSize, shapeSize));
            gdpGrowthUpSeries.XAxis = periodXAxis;
            gdpGrowthUpSeries.YAxis = gdpGrowthUpAnnualChangeYAxis;
            gdpGrowthUpSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            gdpGrowthUpSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries (gdpGrowthUpSeries);

            TKChartDataPoint[] grossAnualSavings = new TKChartDataPoint[] {
                new TKChartDataPoint (date2001, new NSNumber (14)),
                new TKChartDataPoint (date2002, new NSNumber (8)),
                new TKChartDataPoint (date2003, new NSNumber (12)),
                new TKChartDataPoint (date2004, new NSNumber (11)),
                new TKChartDataPoint (date2005, new NSNumber (16))
            };

            TKChartLineSeries grossAnualSavingsSeries = new TKChartLineSeries (grossAnualSavings);
            grossAnualSavingsSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            grossAnualSavingsSeries.XAxis = periodXAxis;
            grossAnualSavingsSeries.YAxis = grossNationalSavingsAnnualGrowthUpYAxis;
            grossAnualSavingsSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            grossAnualSavingsSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries (grossAnualSavingsSeries);

            TKChartDataPoint[] gdpInvestment = new TKChartDataPoint[] {
                new TKChartDataPoint (date2001, new NSNumber (15)),
                new TKChartDataPoint (date2002, new NSNumber (13)),
                new TKChartDataPoint (date2003, new NSNumber (16)),
                new TKChartDataPoint (date2004, new NSNumber (19)),
                new TKChartDataPoint (date2005, new NSNumber (15))
            };

            TKChartLineSeries gdpInvestmentSeries = new TKChartLineSeries (gdpInvestment);
            gdpInvestmentSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            gdpInvestmentSeries.XAxis = periodXAxis;
            gdpInvestmentSeries.YAxis = gdpInvestmentYAxis;
            gdpInvestmentSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            gdpInvestmentSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries (gdpInvestmentSeries);

            this.setStyles (gdpInPoundsSeries);
            this.setStyles (grossAnualSavingsSeries);
            this.setStyles (gdpGrowthUpSeries);
            this.setStyles (gdpInvestmentSeries);

            chart.ReloadData ();
        }
Пример #11
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var chart = new TKChart(this.View.Bounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.Add(chart);

            string url = "http://www.telerik.com/docs/default-source/ui-for-ios/weather.json?sfvrsn=2";

            dataSource.LoadDataFromURL(url, TKDataSourceDataFormat.JSON, "dayList", (NSError err) => {
                if (err != null)
                {
                    Console.WriteLine("Can't connect with the server!");
                    return;
                }

                dataSource.Settings.Chart.CreateSeries((TKDataSourceGroup group) => {
                    TKChartSeries series = null;
                    if (group.ValueKey == "clouds")
                    {
                        series             = new TKChartColumnSeries();
                        series.YAxis       = new TKChartNumericAxis(NSObject.FromObject(0), NSObject.FromObject(100));
                        series.YAxis.Title = "clouds";
                        series.YAxis.Style.TitleStyle.RotationAngle = (float)Math.PI / 2.0f;
                    }
                    else
                    {
                        series       = new TKChartLineSeries();
                        series.YAxis = new TKChartNumericAxis(NSObject.FromObject(-10), NSObject.FromObject(30));
                        if (group.ValueKey == "temp.min")
                        {
                            series.YAxis.Position = TKChartAxisPosition.Right;
                            series.YAxis.Title    = "temperature";
                            series.YAxis.Style.TitleStyle.RotationAngle = (float)Math.PI / 2.0f;
                            chart.AddAxis(series.YAxis);
                        }
                    }
                    return(series);
                });

                dataSource.Map((NSObject item) => {
                    double interval = ((NSNumber)item.ValueForKey(new NSString("dateTime"))).DoubleValue;
                    NSDate date     = NSDate.FromTimeIntervalSince1970(interval);
                    item.SetValueForKey(date, new NSString("dateTime"));
                    return(item);
                });

                NSObject[] items        = this.dataSource.Items;
                NSMutableArray newItems = new NSMutableArray();
                newItems.Add(new TKDataSourceGroup(items, "clouds", "dateTime"));
                newItems.Add(new TKDataSourceGroup(items, "temp.min", "dateTime"));
                newItems.Add(new TKDataSourceGroup(items, "temp.max", "dateTime"));
                dataSource.ItemSource = newItems;

                chart.DataSource = dataSource;

                var formatter             = new NSDateFormatter();
                formatter.DateFormat      = "dd";
                TKChartDateTimeAxis xAxis = (TKChartDateTimeAxis)chart.XAxis;
                xAxis.MajorTickInterval   = 1;
                xAxis.PlotMode            = TKChartAxisPlotMode.BetweenTicks;
                xAxis.LabelFormatter      = formatter;
                xAxis.Title = "date";
                xAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Days;
            });
        }
Пример #12
0
		void loadCharts()
		{
			TKChartNumericAxis yAxis = new TKChartNumericAxis ();
			yAxis.Range = new TKRange (new NSNumber (250), new NSNumber (750));
			yAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Bottom;
			yAxis.Style.LabelStyle.FirstLabelTextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Top;
			yAxis.AllowZoom = true;
			yAxis.AllowPan = true;
			series.YAxis = yAxis;

			NSDateFormatter formatter = new NSDateFormatter ();
			formatter.DateFormat = "MM/dd/yyyy";

			NSDate minDate = formatter.Parse ("01/01/2011");
			NSDate maxDate = formatter.Parse ("01/01/2013");
			TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis ();
			xAxis.Range = new TKRange (minDate, maxDate);
			xAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Days;
			xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
			xAxis.MajorTickInterval = 1;
			xAxis.Style.MajorTickStyle.TicksHidden = false;
			xAxis.Style.MajorTickStyle.TicksOffset = -3;
			xAxis.Style.MajorTickStyle.TicksWidth = 1.5f;
			xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
			xAxis.Style.MajorTickStyle.TicksFill = new TKSolidFill (UIColor.FromRGB(203/255.0f, 203/255.0f, 203/255.0f));
			xAxis.AllowZoom = true;
			xAxis.AllowPan = true;
			series.XAxis = xAxis;

			AddTrendline (new TKChartSimpleMovingAverageIndicator (this.series));
			AddIndicator (new TKChartPercentageVolumeOscillator (this.series));
		}
Пример #13
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TKChart chart = new TKChart(this.ExampleBounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(chart);

            TKChartNumericAxis gdpInPoundsYAxis = new TKChartNumericAxis(new NSNumber(1050), new NSNumber(1400));

            gdpInPoundsYAxis.MajorTickInterval = 50;
            gdpInPoundsYAxis.Position          = TKChartAxisPosition.Left;
            gdpInPoundsYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            gdpInPoundsYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInPoundsYAxis.Style.LineHidden = false;
            chart.AddAxis(gdpInPoundsYAxis);
            chart.YAxis = gdpInPoundsYAxis;

            TKChartDateTimeAxis periodXAxis = new TKChartDateTimeAxis();

            periodXAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MajorTickInterval     = 1;
            periodXAxis.Position = TKChartAxisPosition.Bottom;
            periodXAxis.PlotMode = TKChartAxisPlotMode.BetweenTicks;
            chart.AddAxis(periodXAxis);

            TKChartNumericAxis gdpInvestmentYAxis = new TKChartNumericAxis(new NSNumber(0), new NSNumber(20));

            gdpInvestmentYAxis.MajorTickInterval = 5;
            gdpInvestmentYAxis.Position          = TKChartAxisPosition.Right;
            gdpInvestmentYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            gdpInvestmentYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInvestmentYAxis.Style.LineHidden = false;
            chart.AddAxis(gdpInvestmentYAxis);

            TKChartNumericAxis gdpGrowthUpAnnualChangeYAxis = new TKChartNumericAxis(new NSNumber(-6), new NSNumber(4));

            gdpGrowthUpAnnualChangeYAxis.MajorTickInterval = 1;
            gdpGrowthUpAnnualChangeYAxis.Position          = TKChartAxisPosition.Right;
            gdpGrowthUpAnnualChangeYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            gdpGrowthUpAnnualChangeYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpGrowthUpAnnualChangeYAxis.Style.LineHidden = false;
            chart.AddAxis(gdpGrowthUpAnnualChangeYAxis);

            TKChartNumericAxis grossNationalSavingsAnnualGrowthUpYAxis = new TKChartNumericAxis(new NSNumber(0), new NSNumber(16));

            grossNationalSavingsAnnualGrowthUpYAxis.MajorTickInterval = 2;
            grossNationalSavingsAnnualGrowthUpYAxis.Position          = TKChartAxisPosition.Right;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.MajorTickStyle.TicksHidden = false;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LineHidden = false;
            chart.AddAxis(grossNationalSavingsAnnualGrowthUpYAxis);

            NSDate date2001 = DateWithYear(2001, 12, 31);
            NSDate date2002 = DateWithYear(2002, 12, 31);
            NSDate date2003 = DateWithYear(2003, 12, 31);
            NSDate date2004 = DateWithYear(2004, 12, 31);
            NSDate date2005 = DateWithYear(2005, 12, 31);

            TKChartDataPoint[] gdpInPounds = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(1200)),
                new TKChartDataPoint(date2002, new NSNumber(1200)),
                new TKChartDataPoint(date2003, new NSNumber(1225)),
                new TKChartDataPoint(date2004, new NSNumber(1300)),
                new TKChartDataPoint(date2005, new NSNumber(1350))
            };

            TKChartColumnSeries gdpInPoundsSeries = new TKChartColumnSeries(gdpInPounds);

            gdpInPoundsSeries.XAxis         = periodXAxis;
            gdpInPoundsSeries.YAxis         = gdpInPoundsYAxis;
            gdpInPoundsSeries.SelectionMode = TKChartSeriesSelectionMode.Series;
            chart.AddSeries(gdpInPoundsSeries);

            TKChartDataPoint[] gdpGrowthUpAnnual = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(4)),
                new TKChartDataPoint(date2002, new NSNumber(3)),
                new TKChartDataPoint(date2003, new NSNumber(2)),
                new TKChartDataPoint(date2004, new NSNumber(-5)),
                new TKChartDataPoint(date2005, new NSNumber(1))
            };

            float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 7 : 17;

            TKChartLineSeries gdpGrowthUpSeries = new TKChartLineSeries(gdpGrowthUpAnnual);

            gdpGrowthUpSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            gdpGrowthUpSeries.XAxis            = periodXAxis;
            gdpGrowthUpSeries.YAxis            = gdpGrowthUpAnnualChangeYAxis;
            gdpGrowthUpSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            gdpGrowthUpSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries(gdpGrowthUpSeries);

            TKChartDataPoint[] grossAnualSavings = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(14)),
                new TKChartDataPoint(date2002, new NSNumber(8)),
                new TKChartDataPoint(date2003, new NSNumber(12)),
                new TKChartDataPoint(date2004, new NSNumber(11)),
                new TKChartDataPoint(date2005, new NSNumber(16))
            };

            TKChartLineSeries grossAnualSavingsSeries = new TKChartLineSeries(grossAnualSavings);

            grossAnualSavingsSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            grossAnualSavingsSeries.XAxis            = periodXAxis;
            grossAnualSavingsSeries.YAxis            = grossNationalSavingsAnnualGrowthUpYAxis;
            grossAnualSavingsSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            grossAnualSavingsSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries(grossAnualSavingsSeries);

            TKChartDataPoint[] gdpInvestment = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(15)),
                new TKChartDataPoint(date2002, new NSNumber(13)),
                new TKChartDataPoint(date2003, new NSNumber(16)),
                new TKChartDataPoint(date2004, new NSNumber(19)),
                new TKChartDataPoint(date2005, new NSNumber(15))
            };

            TKChartLineSeries gdpInvestmentSeries = new TKChartLineSeries(gdpInvestment);

            gdpInvestmentSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            gdpInvestmentSeries.XAxis            = periodXAxis;
            gdpInvestmentSeries.YAxis            = gdpInvestmentYAxis;
            gdpInvestmentSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            gdpInvestmentSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries(gdpInvestmentSeries);

            this.setStyles(gdpInPoundsSeries);
            this.setStyles(grossAnualSavingsSeries);
            this.setStyles(gdpGrowthUpSeries);
            this.setStyles(gdpInvestmentSeries);

            chart.ReloadData();
        }
Пример #14
0
        void loadCharts()
        {
            overlayChart.RemoveAllData ();
            indicatorsChart.RemoveAllData ();

            TKChartNumericAxis yAxis = new TKChartNumericAxis ();
            yAxis.Range = new TKRange (new NSNumber (250), new NSNumber (750));
            yAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Bottom;
            yAxis.Style.LabelStyle.FirstLabelTextAlignment = TKChartAxisLabelAlignment.Right | TKChartAxisLabelAlignment.Top;
            yAxis.AllowZoom = true;
            yAxis.AllowPan = true;
            series.YAxis = yAxis;

            NSDateFormatter formatter = new NSDateFormatter ();
            formatter.DateFormat = "MM/dd/yyyy";

            NSDate minDate = formatter.Parse ("01/01/2011");
            NSDate maxDate = formatter.Parse ("01/01/2013");
            TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis ();
            xAxis.Range = new TKRange (minDate, maxDate);
            xAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Days;
            xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            xAxis.MajorTickInterval = 1;
            xAxis.Style.MajorTickStyle.TicksHidden = false;
            xAxis.Style.MajorTickStyle.TicksOffset = -3;
            xAxis.Style.MajorTickStyle.TicksWidth = 1.5f;
            xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
            xAxis.Style.MajorTickStyle.TicksFill = new TKSolidFill (UIColor.FromRGB(203/255.0f, 203/255.0f, 203/255.0f));
            xAxis.AllowZoom = true;
            xAxis.AllowPan = true;
            series.XAxis = xAxis;

            OptionInfo info = Trendlines [SelectedTrendLine];
            info.Handler (info, EventArgs.Empty);

            info = Indicators [SelectedIndicator];
            info.Handler (info, EventArgs.Empty);
        }