Esempio n. 1
0
        void SetupAxes()
        {
            var plotspace = graph.DefaultPlotSpace;
            plotspace.AllowsUserInteraction = true;
            plotspace.Delegate = new MyBarDelegate ();

            var major = new CPTLineStyle () {
                LineWidth = .75f,
                LineColor = CPTColor.FromGenericGray (0.2f).ColorWithAlphaComponent (.75f)
            };

            var minor = new CPTLineStyle () {
                LineWidth = .25f,
                LineColor = CPTColor.WhiteColor.ColorWithAlphaComponent (0.1f)
            };

            var axisSet = (CPTXYAxisSet)graph.AxisSet;

            // Label x with a fixed interval policy
            var x = axisSet.XAxis;
            x.LabelingPolicy = CPTAxisLabelingPolicy.None;
            x.Title = "X Axis";
            x.TitleOffset = 0;

            // Label y with an automatic label policy.
            var y = axisSet.YAxis;
            y.LabelingPolicy = CPTAxisLabelingPolicy.None;
            y.LabelOffset = 0;
            y.Title = "Y Axis";
            y.TitleOffset = 0;
        }
Esempio n. 2
0
        void SetupPlots()
        {
            // Create a plot that uses the data source method
            CPTRangePlot dataSourceLinePlot = new CPTRangePlot();

            dataSourceLinePlot.Identifier = (NSString)"Date Plot";

            // Add line style
            barLineStyle                    = new CPTLineStyle();
            barLineStyle.LineWidth          = 3f;
            barLineStyle.LineColor          = CPTColor.GreenColor;
            dataSourceLinePlot.BarLineStyle = barLineStyle;

            // Bar properties
            dataSourceLinePlot.BarWidth   = 10.0f;
            dataSourceLinePlot.GapWidth   = 20.0f;
            dataSourceLinePlot.GapHeight  = 20.0f;
            dataSourceLinePlot.DataSource = new RangeSource();

            // Add plot
            graph.AddPlot(dataSourceLinePlot);

            areaFillDefault     = CPTFill.FromColor(CPTColor.ClearColor);
            barLineStyleDefault = dataSourceLinePlot.BarLineStyle;

            var space = graph.DefaultPlotSpace as CPTXYPlotSpace;

            space.ScaleToFitPlots(new CPTPlot [] { dataSourceLinePlot });
        }
        void SetupAxes()
        {
            var plotspace = graph.DefaultPlotSpace;

            plotspace.AllowsUserInteraction = true;

            var major = new CPTLineStyle()
            {
                LineWidth = .75f,
                LineColor = CPTColor.FromGenericGray(0.2f).ColorWithAlphaComponent(.75f)
            };

            var minor = new CPTLineStyle()
            {
                LineWidth = .25f,
                LineColor = CPTColor.WhiteColor.ColorWithAlphaComponent(0.1f)
            };

            var axisSet = (CPTXYAxisSet)graph.AxisSet;

            // Label x with a fixed interval policy
            var x = axisSet.XAxis;

            x.LabelingPolicy              = CPTAxisLabelingPolicy.Automatic;
            x.MinorTicksPerInterval       = 4;
            x.PreferredNumberOfMajorTicks = 8;
            x.MajorGridLineStyle          = major;
            x.MinorGridLineStyle          = minor;
            x.Title       = "X Axis";
            x.TitleOffset = -30;

            // Label y with an automatic label policy.
            var y = axisSet.YAxis;

            y.LabelingPolicy              = CPTAxisLabelingPolicy.Automatic;
            y.MinorTicksPerInterval       = 4;
            y.PreferredNumberOfMajorTicks = 8;
            y.MajorGridLineStyle          = major;
            y.MinorGridLineStyle          = minor;
            y.LabelOffset = 20;
            y.Title       = "Y Axis";
            y.TitleOffset = -30;
        }
Esempio n. 4
0
        void SetupAxes ()
        {
            var plotspace = graph.DefaultPlotSpace;
            plotspace.AllowsUserInteraction = true;
            
            var major = new CPTLineStyle {
                LineWidth = .75f,
                LineColor = CPTColor.FromGenericGray (0.2f).ColorWithAlphaComponent (.75f)
            };
            
            var minor = new CPTLineStyle {
                LineWidth = .25f,
                LineColor = CPTColor.WhiteColor.ColorWithAlphaComponent (0.1f)
            };
            
            var axisSet = (CPTXYAxisSet) graph.AxisSet;
            
            // Label x with a fixed interval policy
            var x = axisSet.XAxis;
            x.LabelingPolicy = CPTAxisLabelingPolicy.Automatic;
            x.MinorTicksPerInterval = 4;
            x.PreferredNumberOfMajorTicks = 8;
            x.MajorGridLineStyle = major;
            x.MinorGridLineStyle = minor;
            x.Title = "X Axis";
            x.TitleOffset = -30;

            // Label y with an automatic label policy. 
            var y = axisSet.YAxis;
            y.LabelingPolicy = CPTAxisLabelingPolicy.Automatic;
            y.MinorTicksPerInterval = 4;
            y.PreferredNumberOfMajorTicks = 8;
            y.MajorGridLineStyle = major;
            y.MinorGridLineStyle = minor;
            y.LabelOffset = 20;
            y.Title = "Y Axis";
            y.TitleOffset = -30;
        }
Esempio n. 5
0
        void SetupAxes()
        {
            var plotspace = graph.DefaultPlotSpace;

            plotspace.AllowsUserInteraction = true;
            plotspace.Delegate = new MyBarDelegate();

            var major = new CPTLineStyle()
            {
                LineWidth = .75f,
                LineColor = CPTColor.FromGenericGray(0.2f).ColorWithAlphaComponent(.75f)
            };

            var minor = new CPTLineStyle()
            {
                LineWidth = .25f,
                LineColor = CPTColor.WhiteColor.ColorWithAlphaComponent(0.1f)
            };

            var axisSet = (CPTXYAxisSet)graph.AxisSet;

            // Label x with a fixed interval policy
            var x = axisSet.XAxis;

            x.LabelingPolicy = CPTAxisLabelingPolicy.None;
            x.Title          = "X Axis";
            x.TitleOffset    = 0;

            // Label y with an automatic label policy.
            var y = axisSet.YAxis;

            y.LabelingPolicy = CPTAxisLabelingPolicy.None;
            y.LabelOffset    = 0;
            y.Title          = "Y Axis";
            y.TitleOffset    = 0;
        }
Esempio n. 6
0
		void SetupPlots ()
		{
			// Create a plot that uses the data source method
			var dataSourceLinePlot = new CPTRangePlot ();
			dataSourceLinePlot.Identifier = (NSString)"Date Plot";

			// Add line style
			barLineStyle = new CPTLineStyle();
			barLineStyle.LineWidth = 3f;
			barLineStyle.LineColor = CPTColor.GreenColor;
			dataSourceLinePlot.BarLineStyle = barLineStyle;

			// Bar properties
			dataSourceLinePlot.BarWidth = 10.0f;
			dataSourceLinePlot.GapWidth = 20.0f;
			dataSourceLinePlot.GapHeight = 20.0f;
			dataSourceLinePlot.DataSource = new RangeSource();

			// Add plot
			graph.AddPlot(dataSourceLinePlot);

			areaFillDefault = CPTFill.FromColor(CPTColor.ClearColor);
			barLineStyleDefault = dataSourceLinePlot.BarLineStyle;

			var space = graph.DefaultPlotSpace as CPTXYPlotSpace;
			space.ScaleToFitPlots (new CPTPlot [] { dataSourceLinePlot });
		}
Esempio n. 7
0
        public virtual void AwakeFromNib()
        {
            // If you make sure your dates are calculated at noon, you shouldn't have to
            // worry about daylight savings. If you use midnight, you will have to adjust
            // for daylight savings time.
            NSDate refDate = NSDate.DateWithNaturalLanguageString ("12:00 Oct 27, 2010");
            double oneDay = 24 * 60 * 60;

            // Create graph from theme
            graph = new CPTXYGraph (CGRect.CGRectZero);
            CPTTheme theme = CPTTheme.ThemeNamed (CPTTheme.kCPTDarkGradientTheme);
            graph.ApplyTheme (theme);
            hostView.HostedGraph = graph;

            // Title
            CPTMutableTextStyle textStyle = CPTMutableTextStyle.TextStyle;
            textStyle.Color = CPTColor.WhiteColor;
            textStyle.FontSize = 18.0;
            textStyle.FontName = "Helvetica";
            graph.Title = "Click to Toggle Range Plot Style";
            graph.TitleTextStyle = textStyle;
            graph.TitleDisplacement = new CGPoint (0.0f, -20.0f);

            // Setup scatter plot space
            CPTXYPlotSpace plotSpace = graph.DefaultPlotSpace.CastTo<CPTXYPlotSpace> ();
            double xLow = oneDay * 0.5;
            plotSpace.XRange = CPTPlotRange.PlotRangeWithLocationLength (NSDecimal.FromDouble (xLow), NSDecimal.FromDouble (oneDay * 5.0));
            plotSpace.YRange = CPTPlotRange.PlotRangeWithLocationLength (NSDecimal.FromDouble (1.0), NSDecimal.FromDouble (3.0));

            // Axes
            CPTXYAxisSet axisSet = graph.AxisSet.CastTo<CPTXYAxisSet> ();
            CPTXYAxis x = axisSet.XAxis;
            x.MajorIntervalLength = NSDecimal.FromDouble (oneDay);
            x.OrthogonalCoordinateDecimal = NSDecimal.FromString ("2");
            x.MinorTicksPerInterval = 0;
            NSDateFormatter dateFormatter = new NSDateFormatter ().Autorelease<NSDateFormatter> ();
            dateFormatter.DateStyle = NSDateFormatterStyle.NSDateFormatterShortStyle;
            CPTTimeFormatter timeFormatter = new CPTTimeFormatter (dateFormatter).Autorelease<CPTTimeFormatter> ();
            timeFormatter.ReferenceDate = refDate;
            x.LabelFormatter = timeFormatter;

            CPTXYAxis y = axisSet.YAxis;
            y.MajorIntervalLength = NSDecimal.FromString (@"0.5");
            y.MinorTicksPerInterval = 5;
            y.OrthogonalCoordinateDecimal = NSDecimal.FromDouble (oneDay);

            // Create a plot that uses the data source method
            CPTRangePlot dataSourceLinePlot = new CPTRangePlot ().Autorelease<CPTRangePlot> ();
            dataSourceLinePlot.Identifier = PLOT_IDENTIFIER;

            // Add line style
            CPTMutableLineStyle lineStyle = CPTMutableLineStyle.LineStyle;
            lineStyle.LineWidth = 1.0;
            lineStyle.LineColor = CPTColor.GreenColor;
            barLineStyle = lineStyle.Retain<CPTLineStyle> ();
            dataSourceLinePlot.BarLineStyle = barLineStyle;

            // Bar properties
            dataSourceLinePlot.BarWidth = 10.0;
            dataSourceLinePlot.GapWidth = 20.0;
            dataSourceLinePlot.GapHeight = 20.0;
            dataSourceLinePlot.DataSource = this;

            // Add plot
            graph.AddPlot (dataSourceLinePlot);
            graph.DefaultPlotSpace.Delegate = this;

            // Store area fill for use later
            CPTColor transparentGreen = CPTColor.GreenColor.ColorWithAlphaComponent (0.2);
            areaFill = new CPTFill (transparentGreen);

            // Add some data
            NSMutableArray newData = new NSMutableArray();
            NSUInteger i;
            Random rand = new Random ();
            for (i = 0; i < 5; i++) {
                double xx = oneDay * (i + 1.0);
                double yy = 3.0 * rand.Next () / (double)Int32.MaxValue + 1.2;
                double rHigh = rand.Next () / (double)Int32.MaxValue * 0.5 + 0.25;
                double rLow = rand.Next () / (double)Int32.MaxValue * 0.5 + 0.25;
                double rLeft = (rand.Next () / (double)Int32.MaxValue * 0.125 + 0.125) * oneDay;
                double rRight = (rand.Next () / (double)Int32.MaxValue * 0.125 + 0.125) * oneDay;

                newData.AddObject (NSDictionary.DictionaryWithObjectsAndKeys (
                                                                              NSDecimalNumber.NumberWithDouble (xx), CPTRangePlot.FieldX,
                                                                              NSDecimalNumber.NumberWithDouble (yy), CPTRangePlot.FieldY,
                                                                              NSDecimalNumber.NumberWithDouble (rHigh), CPTRangePlot.FieldHigh,
                                                                              NSDecimalNumber.NumberWithDouble (rLow), CPTRangePlot.FieldLow,
                                                                              NSDecimalNumber.NumberWithDouble (rLeft), CPTRangePlot.FieldLeft,
                                                                              NSDecimalNumber.NumberWithDouble (rRight), CPTRangePlot.FieldRight,
                                                                              null));
            }

            plotData = newData;
        }