public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index) { TKChartPaletteItem item = null; if (series.Index == 1) { UIColor[] colors = new UIColor[] { new UIColor(0f, 1f, 0f, 0.4f), new UIColor(1f, 0f, 0f, 0.4f), new UIColor(0f, 0f, 1f, 0.4f), }; TKLinearGradientFill gradient = new TKLinearGradientFill(colors, new PointF(0.5f, 0.0f), new PointF(0.5f, 1.0f)); item = new TKChartPaletteItem(gradient); } else { TKImageFill image = new TKImageFill(new UIImage("pattern1.png"), 5.0f); image.ResizingMode = TKImageFillResizingMode.Tile; TKStroke stroke = new TKStroke(UIColor.Black, 1.0f); stroke.CornerRadius = 5.0f; stroke.DashPattern = new NSNumber[] { new NSNumber(2), new NSNumber(2), new NSNumber(5), new NSNumber(2) }; item = new TKChartPaletteItem(new NSObject[] { image, stroke }); } return(item); }
public void setStyles(TKChartSeries series) { TKChartPaletteItem item = series.Style.Palette.PaletteItemAtIndex(series.Index); if (series is TKChartColumnSeries && item.Drawables.Length > 1) { NSObject drawable = item.Drawables [2]; if (drawable is TKStroke) { TKStroke stroke = drawable as TKStroke; series.YAxis.Style.LineStroke = new TKStroke(stroke.Fill); } else { series.YAxis.Style.LineStroke = new TKStroke(item.Stroke.Fill); } } else { series.YAxis.Style.LineStroke = new TKStroke(item.Stroke.Fill); } series.YAxis.Style.MajorTickStyle.TicksFill = series.YAxis.Style.LineStroke.Fill; series.YAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible; series.YAxis.Style.MajorTickStyle.MinTickClippingMode = TKChartAxisClippingMode.Visible; if (series.YAxis.Style.MajorTickStyle.TicksFill is TKSolidFill) { TKSolidFill solidFill = series.YAxis.Style.MajorTickStyle.TicksFill as TKSolidFill; series.YAxis.Style.LabelStyle.TextColor = solidFill.Color; } }
private void CustomDrawingSelected() { chart.RemoveAllData(); MyAxis axis = new MyAxis(new NSNumber(100), new NSNumber(450)); chart.YAxis = axis; List <TKChartDataPoint> items = new List <TKChartDataPoint> (); for (int i = 0; i < names.Length; i++) { for (int j = 0; j < 5; j++) { NSDate date = this.DateWithYear(j + 2002, 1, 1); TKChartDataPoint point = new TKChartDataPoint(date, new NSNumber(this.r.Next(50) + offsets[i])); items.Add(point); } TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(items.ToArray()); series.Title = names[i]; // >> chart-style-fill-cs series.Style.Palette = new TKChartPalette(); TKChartPaletteItem palleteItem = new TKChartPaletteItem(); palleteItem.Stroke = new TKStroke(strokes[i], 1.5f); palleteItem.Fill = new TKLinearGradientFill(fills[i], new CGPoint(0, 0), new CGPoint(1, 1)); series.Style.Palette.AddPaletteItem(palleteItem); // << chart-style-fill-cs chart.AddSeries(series); items.Clear(); } }
public override void ViewDidLoad() { base.ViewDidLoad(); TKChart chart = new TKChart(this.View.Bounds); chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight; this.View.AddSubview(chart); string[] months = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun" }; int[] values = new int[] { 95, 40, 55, 30, 76, 34 }; List <TKChartDataPoint> list = new List <TKChartDataPoint> (); for (int i = 0; i < months.Length; i++) { list.Add(new TKChartDataPoint(new NSString(months[i]), new NSNumber(values[i]))); } TKChartLineSeries series = new TKChartLineSeries(list.ToArray()); // >> chart-point-shape-cs series.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(10, 10)); // << chart-point-shape-cs // >> chart-point-pallete-cs var paletteItem = new TKChartPaletteItem(); paletteItem.Fill = new TKSolidFill(UIColor.Red); var palette = new TKChartPalette(); palette.AddPaletteItem(paletteItem); series.Style.ShapePalette = palette; // << chart-point-pallete-cs chart.AddSeries(series); // >> chart-balloon-annotation-cs NSMutableParagraphStyle paragraphStyle = (NSMutableParagraphStyle) new NSParagraphStyle().MutableCopy(); paragraphStyle.Alignment = UITextAlignment.Center; NSMutableDictionary attributes = new NSMutableDictionary(); attributes.Add(UIStringAttributeKey.ForegroundColor, UIColor.White); attributes.Add(UIStringAttributeKey.ParagraphStyle, paragraphStyle); NSMutableAttributedString attributedText = new NSMutableAttributedString("Important milestone:\n $55000", attributes); attributedText.AddAttribute(UIStringAttributeKey.ForegroundColor, UIColor.Yellow, new NSRange(22, 6)); TKChartBalloonAnnotation balloon = new TKChartBalloonAnnotation(new NSString("Mar"), new NSNumber(55), series); balloon.AttributedText = attributedText; balloon.Style.DistanceFromPoint = 20; balloon.Style.ArrowSize = new Size(10, 10); chart.AddAnnotation(balloon); // << chart-balloon-annotation-cs balloon = new TKChartBalloonAnnotation("The lowest value:\n $30000", new NSString("Apr"), new NSNumber(30), series); balloon.Style.VerticalAlign = TKChartBalloonVerticalAlignment.Bottom; chart.AddAnnotation(balloon); }
void snippet2() { // >> chart-scatter-visual-cs var series = new TKChartScatterSeries(scatterPoints.ToArray()); var paletteItem = new TKChartPaletteItem(); paletteItem.Fill = new TKSolidFill(UIColor.Red); series.Style.Palette = new TKChartPalette(); series.Style.Palette.AddPaletteItem(paletteItem); chart.AddSeries(series); // << chart-scatter-visual-cs }
void snippet3() { // >> chart-line-series-stroke-cs var seriesForProfit = new TKChartLineSeries(profitData.ToArray()); seriesForProfit.Style.Palette = new TKChartPalette(); var paletteItem = new TKChartPaletteItem(); paletteItem.Stroke = new TKStroke(UIColor.Green); seriesForProfit.Style.Palette.AddPaletteItem(paletteItem); chart.AddSeries(seriesForProfit); // << chart-line-series-stroke-cs }
void snippet4() { // >> chart-style-fill-cs var seriesForAnnualRevenue = new TKChartAreaSeries(pointsWithCategoriesAndValues.ToArray()); seriesForAnnualRevenue.Style.Palette = new TKChartPalette(); var paletteItem = new TKChartPaletteItem(); paletteItem.Stroke = new TKStroke(UIColor.Brown); paletteItem.Fill = new TKSolidFill(UIColor.Red); seriesForAnnualRevenue.Style.Palette.AddPaletteItem(paletteItem); chart.AddSeries(seriesForAnnualRevenue); // << chart-style-fill-cs }
void snippet17() { TKChartSeries series = null; // >> chart-drawing-pallete-items-cs var paletteItem1 = new TKChartPaletteItem(new TKSolidFill(UIColor.Red)); var paletteItem2 = new TKChartPaletteItem(new TKStroke(UIColor.Blue)); var plaetteItem3 = new TKChartPaletteItem(new TKStroke(UIColor.Blue), new TKSolidFill(UIColor.Red)); series.Style.Palette.AddPaletteItem(paletteItem1); // << chart-drawing-pallete-items-cs Console.WriteLine(paletteItem2); Console.WriteLine(plaetteItem3); }
void snippet5() { // >> chart-bar-visual-cs var series = new TKChartBarSeries(pointsWithCategoriesAndValues.ToArray()); // >> chart-column-visual-cs series.Style.Palette = new TKChartPalette(); var paletteItem = new TKChartPaletteItem(); paletteItem.Fill = new TKSolidFill(UIColor.Red); paletteItem.Stroke = new TKStroke(UIColor.Black); series.Style.Palette.AddPaletteItem(paletteItem); chart.AddSeries(series); // << chart-column-visual-cs // << chart-bar-visual-cs }
// >> chart-ohlc-visual-cs public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index) { var dataPoint = series.DataPointAtIndex((uint)index); TKStroke stroke = null; if (dataPoint.Close.DoubleValue < dataPoint.Open.DoubleValue) { stroke = new TKStroke(UIColor.Red); } else { stroke = new TKStroke(UIColor.Green); } var paletteItem = new TKChartPaletteItem(stroke); return(paletteItem); }
public override void ViewDidLoad() { base.ViewDidLoad(); this.chart.Frame = this.View.Bounds; this.chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight; this.View.AddSubview(this.chart); MyAxis axis = new MyAxis(new NSNumber(100), new NSNumber(450)); chart.YAxis = axis; chart.Legend.Hidden = false; string[] names = new string[] { "Upper class", "Upper middle class", "Middle class", "Lower middle class" }; nfloat[] offsets = new nfloat[] { 350, 250, 150, 100 }; UIColor[] strokes = new UIColor[] { new UIColor(0.5f, 0.5f, 0.5f, 0.5f), new UIColor(0.3f, 0.3f, 0.3f, 0.6f), new UIColor(0.1f, 0.1f, 0.1f, 0.6f), new UIColor(0.1f, 0.1f, 0.1f, 0.6f) }; UIColor[][] fills = new UIColor[][] { new UIColor[] { new UIColor(0.78f, 0.81f, 0.86f, 0.5f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }, new UIColor[] { new UIColor(0.78f, 0.76f, 0.70f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }, new UIColor[] { new UIColor(0.80f, 0.73f, 0.67f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }, new UIColor[] { new UIColor(0.70f, 0.58f, 0.58f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) } }; List <TKChartDataPoint> items = new List <TKChartDataPoint> (); for (int i = 0; i < names.Length; i++) { for (int j = 0; j < 5; j++) { NSDate date = this.DateWithYear(j + 2002, 1, 1); TKChartDataPoint point = new TKChartDataPoint(date, new NSNumber(this.r.Next(50) + offsets[i])); items.Add(point); } TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(items.ToArray()); series.Title = names[i]; series.Style.Palette = new TKChartPalette(); TKChartPaletteItem palleteItem = new TKChartPaletteItem(); palleteItem.Stroke = new TKStroke(strokes[i], 1.5f); palleteItem.Fill = new TKLinearGradientFill(fills[i], new CGPoint(0, 0), new CGPoint(1, 1)); series.Style.Palette.AddPaletteItem(palleteItem); chart.AddSeries(series); items.Clear(); } }
public override void ViewDidLoad() { base.ViewDidLoad (); this.chart.Frame = this.ExampleBounds; this.chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight; this.View.AddSubview (this.chart); MyAxis axis = new MyAxis (new NSNumber (100), new NSNumber (450)); chart.YAxis = axis; chart.Legend.Hidden = false; string[] names = new string[] { "Upper class", "Upper middle class", "Middle class", "Lower middle class" }; nfloat[] offsets = new nfloat[] { 350, 250, 150, 100 }; UIColor[] strokes = new UIColor[]{ new UIColor(0.5f, 0.5f, 0.5f, 0.5f), new UIColor(0.3f, 0.3f, 0.3f, 0.6f), new UIColor(0.1f, 0.1f, 0.1f, 0.6f), new UIColor(0.1f, 0.1f, 0.1f, 0.6f) }; UIColor[][] fills = new UIColor[][]{ new UIColor[]{ new UIColor(0.78f, 0.81f, 0.86f, 0.5f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }, new UIColor[] { new UIColor(0.78f, 0.76f, 0.70f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }, new UIColor[] { new UIColor(0.80f, 0.73f, 0.67f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }, new UIColor[] { new UIColor(0.70f, 0.58f, 0.58f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) } }; List<TKChartDataPoint> items = new List<TKChartDataPoint> (); for (int i = 0; i< names.Length; i++) { for (int j = 0; j<10; j++) { NSDate date = this.DateWithYear(j + 2001, 1, 1); TKChartDataPoint point = new TKChartDataPoint(date, new NSNumber(this.r.Next(50) + offsets[i])); items.Add (point); } TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(items.ToArray()); series.Title = names[i]; series.Style.Palette = new TKChartPalette (); TKChartPaletteItem palleteItem = new TKChartPaletteItem (); palleteItem.Stroke = new TKStroke(strokes[i], 1.5f); palleteItem.Fill = new TKLinearGradientFill (fills[i], new CGPoint(0, 0), new CGPoint(1, 1)); series.Style.Palette.AddPaletteItem(palleteItem); chart.AddSeries(series); items.Clear (); } }
// >> chart-candlestick-visual-cs public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index) { var dataPoint = series.DataPointAtIndex((uint)index); var stroke = new TKStroke(UIColor.Black); var fill = new TKSolidFill(); if (dataPoint.Close.DoubleValue < dataPoint.Open.DoubleValue) { fill.Color = UIColor.Red; } else { fill.Color = UIColor.Green; } var paletteItem = new TKChartPaletteItem(stroke, fill); return(paletteItem); }
public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index) { TKChartPaletteItem item = null; if (series.Index == 1) { UIColor[] colors = new UIColor[] { new UIColor(0f, 1f, 0f, 0.4f), new UIColor(1f, 0f, 0f, 0.4f), new UIColor(0f, 0f, 1f, 0.4f), }; TKLinearGradientFill gradient = new TKLinearGradientFill(colors, new PointF (0.5f, 0.0f), new PointF (0.5f, 1.0f)); item = new TKChartPaletteItem (gradient); } else { TKImageFill image = new TKImageFill(new UIImage ("pattern1.png"), 5.0f); image.ResizingMode = TKImageFillResizingMode.Tile; TKStroke stroke = new TKStroke (UIColor.Black, 1.0f); stroke.CornerRadius = 5.0f; stroke.DashPattern = new NSNumber[] { new NSNumber(2), new NSNumber(2), new NSNumber(5), new NSNumber(2) }; item = new TKChartPaletteItem (new NSObject[] { image, stroke }); } return item; }
void barRange() { // >> chart-range-bar-cs var lowValues = new NSNumber[] { new NSNumber(33), new NSNumber(29), new NSNumber(55), new NSNumber(21), new NSNumber(10), new NSNumber(39), new NSNumber(40), new NSNumber(11) }; var highValues = new NSNumber[] { new NSNumber(47), new NSNumber(61), new NSNumber(64), new NSNumber(40), new NSNumber(33), new NSNumber(90), new NSNumber(87), new NSNumber(69) }; var lowValues2 = new NSNumber[] { new NSNumber(31), new NSNumber(32), new NSNumber(57), new NSNumber(18), new NSNumber(12), new NSNumber(31), new NSNumber(45), new NSNumber(14) }; var highValues2 = new NSNumber[] { new NSNumber(43), new NSNumber(66), new NSNumber(61), new NSNumber(49), new NSNumber(31), new NSNumber(80), new NSNumber(82), new NSNumber(78) }; List <TKChartRangeDataPoint> list = new List <TKChartRangeDataPoint> (); List <TKChartRangeDataPoint> list2 = new List <TKChartRangeDataPoint> (); for (int i = 0; i < 8; i++) { list.Add(TKChartRangeDataPoint.RangeBarDataPoint(new NSNumber(i), lowValues[i], highValues[i])); list2.Add(TKChartRangeDataPoint.RangeBarDataPoint(new NSNumber(i), lowValues2[i], highValues2[i])); } TKChartRangeBarSeries series = new TKChartRangeBarSeries(list.ToArray()); TKChartRangeBarSeries series2 = new TKChartRangeBarSeries(list2.ToArray()); chart.AddSeries(series); chart.AddSeries(series2); // << chart-range-bar-cs // >> chart-range-bar-visual-cs series.Style.Palette = new TKChartPalette(); var paletteItem = new TKChartPaletteItem(); paletteItem.Fill = new TKSolidFill(UIColor.Red); paletteItem.Stroke = new TKStroke(UIColor.Black); series.Style.Palette.AddPaletteItem(paletteItem); chart.AddSeries(series); // << chart-range-bar-visual-cs // >> chart-range-bar-gap-cs series.GapLength = 0.5f; // << chart-range-bar-gap-cs // >> chart-range-bar-height-cs series.MinBarHeight = 20; series.MaxBarHeight = 50; // << chart-range-bar-height-cs }
public override void ViewDidLoad() { base.ViewDidLoad(); // >> chart-range-col-cluster-cs var lowValues = new NSNumber[] { new NSNumber(33), new NSNumber(29), new NSNumber(55), new NSNumber(21), new NSNumber(10), new NSNumber(39), new NSNumber(40), new NSNumber(11) }; var highValues = new NSNumber[] { new NSNumber(47), new NSNumber(61), new NSNumber(64), new NSNumber(40), new NSNumber(33), new NSNumber(90), new NSNumber(87), new NSNumber(69) }; var lowValues2 = new NSNumber[] { new NSNumber(31), new NSNumber(32), new NSNumber(57), new NSNumber(18), new NSNumber(12), new NSNumber(31), new NSNumber(45), new NSNumber(14) }; var highValues2 = new NSNumber[] { new NSNumber(43), new NSNumber(66), new NSNumber(61), new NSNumber(49), new NSNumber(31), new NSNumber(80), new NSNumber(82), new NSNumber(78) }; List <TKChartRangeDataPoint> list = new List <TKChartRangeDataPoint> (); List <TKChartRangeDataPoint> list2 = new List <TKChartRangeDataPoint> (); for (int i = 0; i < 8; i++) { list.Add(TKChartRangeDataPoint.RangeColumnDataPoint(new NSNumber(i), lowValues[i], highValues[i])); list2.Add(TKChartRangeDataPoint.RangeColumnDataPoint(new NSNumber(i), lowValues2[i], highValues2[i])); } TKChartRangeColumnSeries series = new TKChartRangeColumnSeries(list.ToArray()); TKChartRangeColumnSeries series2 = new TKChartRangeColumnSeries(list2.ToArray()); chart.AddSeries(series); chart.AddSeries(series2); // << chart-range-col-cluster-cs // >> chart-range-col-visual-cs series.Style.Palette = new TKChartPalette(); var paletteItem = new TKChartPaletteItem(); paletteItem.Fill = new TKSolidFill(UIColor.Red); paletteItem.Stroke = new TKStroke(UIColor.Black); series.Style.Palette.AddPaletteItem(paletteItem); // << chart-range-col-visual-cs // >> chart-range-col-gap-cs series.GapLength = 0.5f; // << chart-range-col-gap-cs // >> chart-range-col-width-cs series.MinColumnWidth = 20; series.MaxColumnWidth = 50; // << chart-range-col-width-cs }