Пример #1
0
        private void SetCartesianGrid(RadChartView chart)
        {
            CartesianArea area = chart.GetArea <CartesianArea>();

            area.ShowGrid = true;

            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;
            grid.DrawHorizontalStripes = true;
            grid.DrawVerticalStripes   = true;
            grid.ForeColor             = Color.LightGray;
            grid.BorderDashStyle       = System.Drawing.Drawing2D.DashStyle.Solid;
        }
Пример #2
0
        private void InitializeChart2()
        {
            CartesianArea area = this.radChartView2.GetArea <CartesianArea>();
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.ForeColor             = Color.FromArgb(235, 235, 235);
            grid.DrawVerticalStripes   = false;
            grid.DrawHorizontalStripes = true;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;
            area.ShowGrid = true;

            ChartTrackballController trackball = new ChartTrackballController();

            trackball.IsFixedSize = true;
            trackball.FixedSize   = new System.Drawing.Size(150, 30);
            trackball.TextNeeded += new TextNeededEventHandler(trackball_TextNeeded);
            this.radChartView2.Controllers.Add(trackball);

            AreaSeries areaSeries = new AreaSeries();

            areaSeries.Spline         = false;
            areaSeries.CategoryMember = "Category";
            areaSeries.ValueMember    = "Value";
            areaSeries.DataSource     = model.Data2;
            areaSeries.PointSize      = new SizeF(0, 0);
            areaSeries.BorderColor    = Color.FromArgb(142, 196, 65);
            areaSeries.BackColor      = Color.FromArgb(150, Color.FromArgb(142, 196, 65));

            this.radChartView2.Series.Add(areaSeries);

            this.radChartView2.ChartElement.TitlePosition = TitlePosition.Top;
            this.radChartView2.ChartElement.TitleElement.TextAlignment = ContentAlignment.MiddleLeft;
            this.radChartView2.ChartElement.TitleElement.Margin        = new Padding(10, 10, 0, 0);
            this.radChartView2.ChartElement.TitleElement.Font          = font;
            this.radChartView2.View.Margin = new Padding(10, 0, 0, 10);

            LinearAxis axeY = radChartView2.Axes.Get <LinearAxis>(1);

            axeY.Minimum = 3000;
            axeY.Maximum = 4200;

            CategoricalAxis axeX = radChartView2.Axes.Get <CategoricalAxis>(0);

            axeX.LabelInterval       = 2;
            axeX.LabelFormat         = "{0:HH}";
            axeX.LastLabelVisibility = Charting.AxisLastLabelVisibility.Visible;
        }
Пример #3
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            ((CartesianArea)this.radChartView1.View.Area).ShowGrid = true;

            this.radDropDownList1.DataSource = chartTypes;
            this.radDropDownList2.DataSource = lineCombineModes;

            int i = 1;

            foreach (DataPointElement dpe in this.radChartView1.Series[0].Children)
            {
                dpe.IsVisible = false;
                AnimatedPropertySetting setting = new AnimatedPropertySetting();
                setting.StartValue = false;
                setting.EndValue   = true;
                setting.Property   = UIChartElement.IsVisibleProperty;
                setting.ApplyDelay = 40 + 40 * i;
                setting.NumFrames  = 2;
                setting.ApplyValue(dpe);
                i++;
            }

            i = 1;
            foreach (DataPointElement dpe in this.radChartView1.Series[1].Children)
            {
                dpe.IsVisible = false;
                AnimatedPropertySetting setting = new AnimatedPropertySetting();
                setting.StartValue = false;
                setting.EndValue   = true;
                setting.Property   = UIChartElement.IsVisibleProperty;
                setting.ApplyDelay = 60 + 60 * i;
                setting.NumFrames  = 2;
                setting.ApplyValue(dpe);
                i++;
            }

            CartesianArea area = this.radChartView1.GetArea <CartesianArea>();

            area.ShowGrid = true;
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.DrawVerticalStripes   = true;
        }
Пример #4
0
        public Form1()
        {
            InitializeComponent();

            this.SelectedControl = this.radChartView1;

            CartesianArea area = this.radChartView1.GetArea <CartesianArea>();

            area.ShowGrid = true;
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.DrawVerticalStripes   = true;

            InitializeChartAxes();

            this.SetEnabledQsfbButton(QSFButtons.ChangeTheme, false);
        }
Пример #5
0
        public Form1()
        {
            InitializeComponent();

            this.SetChartViewData();
            this.SetupChartView();

            this.radChartView1.ShowLegend = true;
            this.radChartView1.LegendTitle = "Telemetry";
            this.radChartView1.ShowTitle = true;
            this.radChartView1.Title = "Prototype car best lap telemetry";
            this.radChartView1.ChartElement.TitlePosition = TitlePosition.Top;
            this.radChartView1.ChartElement.TitleElement.Padding = new System.Windows.Forms.Padding(this.radChartView1.View.Margin.Left, 10, 0, 0);

            CartesianArea area = this.radChartView1.GetArea<CartesianArea>();
            area.ShowGrid = true;
            CartesianGrid grid = area.GetGrid<CartesianGrid>();
            grid.DrawHorizontalStripes = true;
        }
Пример #6
0
        private void InitializeChartHeartRate()
        {
            CartesianArea area = this.radChartViewHeartRate.GetArea <CartesianArea>();
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.ForeColor             = Color.FromArgb(235, 235, 235);
            grid.DrawVerticalStripes   = false;
            grid.DrawHorizontalStripes = true;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;
            area.ShowGrid = true;

            LineSeries lineSeries = new LineSeries();

            lineSeries.PointSize      = new SizeF(0, 0);
            lineSeries.CategoryMember = "Time";
            lineSeries.ValueMember    = "Value";
            lineSeries.DataSource     = model.HeartRate;
            lineSeries.BorderColor    = Color.FromArgb(142, 196, 65);
            lineSeries.BorderWidth    = 2;

            this.radChartViewHeartRate.Series.Add(lineSeries);

            this.radChartViewHeartRate.ChartElement.TitlePosition = TitlePosition.Top;
            this.radChartViewHeartRate.Title = "Heart Rate";
            this.radChartViewHeartRate.ChartElement.ShowTitle = true;
            this.radChartViewHeartRate.ChartElement.TitleElement.TextAlignment = ContentAlignment.MiddleLeft;
            this.radChartViewHeartRate.ChartElement.TitleElement.Margin        = new Padding(10, 0, 0, 0);
            this.radChartViewHeartRate.ChartElement.TitleElement.Font          = font;
            this.radChartViewHeartRate.View.Margin = new Padding(10, 0, 10, 0);

            LinearAxis axeY = radChartViewHeartRate.Axes.Get <LinearAxis>(1);

            axeY.Minimum = 100;
            axeY.Maximum = 180;
            //axeY.MajorStep = 1;

            CategoricalAxis axeX = radChartViewHeartRate.Axes.Get <CategoricalAxis>(0);

            axeX.LabelInterval       = 5;
            axeX.LabelFormat         = "{0:HH:mm:ss}";
            axeX.LastLabelVisibility = Telerik.Charting.AxisLastLabelVisibility.Visible;
        }
Пример #7
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            this.radChartView1.GetArea <CartesianArea>().ShowGrid = true;

            this.radDropDownList1.DataSource = chartTypes;
            this.radDropDownList2.DataSource = lineCombineModes;

            this.radDropDownList1.SelectedValue = "Spline Area";

            CartesianArea area = this.radChartView1.GetArea <CartesianArea>();

            area.ShowGrid = true;
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.DrawVerticalStripes   = true;
        }
Пример #8
0
        private void radChartView1_Initialized(object sender, EventArgs e)
        {
            CartesianArea area = this.radChartView1.GetArea <CartesianArea>();
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.ForeColor             = Color.FromArgb(235, 235, 235);
            grid.DrawVerticalStripes   = false;
            grid.DrawHorizontalStripes = true;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;
            area.ShowGrid = true;

            LineSeries lineSeries;

            lineSeries             = new LineSeries();
            lineSeries.BorderColor = Color.FromArgb(142, 196, 65);


            lineSeries.PointSize      = new SizeF(0, 0);
            lineSeries.CategoryMember = "Category";
            lineSeries.ValueMember    = "Value";
            lineSeries.DataSource     = m_MainClass.m_LiveDataModel.Data;
            lineSeries.BorderWidth    = 2;

            this.radChartView1.Series.Add(lineSeries);

            this.radChartView1.ChartElement.TitlePosition = TitlePosition.Top;
            this.radChartView1.ChartElement.TitleElement.TextAlignment = ContentAlignment.MiddleLeft;
            this.radChartView1.ChartElement.TitleElement.Margin        = new Padding(10, 10, 0, 0);
            this.radChartView1.View.Margin = new Padding(10, 0, 35, 0);

            LinearAxis axeY = radChartView1.Axes.Get <LinearAxis>(1);

            axeY.Minimum   = 0;
            axeY.Maximum   = 300;
            axeY.MajorStep = 30;

            CategoricalAxis axeX = radChartView1.Axes.Get <CategoricalAxis>(0);

            axeX.ClipLabels    = false;
            axeX.LabelInterval = 50;
            axeX.LabelFormat   = "{0:HH:mm:ss.f}";
        }
Пример #9
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            enableFormatting = true;

            CartesianArea area = this.radChartView1.GetArea <CartesianArea>();

            area.ShowGrid = true;

            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.ForeColor             = Color.FromArgb(200, 200, 200);
            grid.BorderDashStyle       = System.Drawing.Drawing2D.DashStyle.Dot;
            grid.DrawVerticalStripes   = false;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;

            DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis();

            horizontalAxis.LabelFormat        = "{0:MMM - dd}";
            horizontalAxis.LabelFitMode       = AxisLabelFitMode.Rotate;
            horizontalAxis.LabelRotationAngle = 315;
            area.Axes.Add(horizontalAxis);

            LinearAxis verticalAxis = new LinearAxis();

            verticalAxis.Minimum  = 58;
            verticalAxis.Maximum  = 70;
            verticalAxis.AxisType = Telerik.Charting.AxisType.Second;
            area.Axes.Add(verticalAxis);

            InitializeOhlcSeries();
            SetupOhlcLabels();
        }
Пример #10
0
        private void InitializeBarChart()
        {
            CategoricalDataPoint point;
            BarSeries            barSeries;
            CartesianArea        area = this.radChartView1.GetArea <CartesianArea>();
            CartesianGrid        grid = area.GetGrid <CartesianGrid>();

            grid.ForeColor             = Color.FromArgb(235, 235, 235);
            grid.DrawVerticalStripes   = false;
            grid.DrawHorizontalStripes = true;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;
            area.ShowGrid = true;

            for (int i = 0; i < barSeriesValues.Length; i++)
            {
                barSeries = new BarSeries();
                point     = new CategoricalDataPoint(barSeriesValues[i], "May 2012");
                barSeries.DataPoints.Add(point);
                area.Series.Add(barSeries);
            }

            this.radChartView1.View.Margin = new Padding(0, 0, 30, 0);
        }
        public PlotRecorderProfile_HA(JBC_API_Remote jbcConnect, RadChartView _radChartView, Label labelHotAirTemp, Label labelExtTCTemp, Label labelAirFlow, Label labelStatus, long stationID, Port port)
        {
            m_jbcConnect      = jbcConnect;
            m_radChartView    = _radChartView;
            m_labelHotAirTemp = labelHotAirTemp;
            m_labelExtTCTemp  = labelExtTCTemp;
            m_labelAirFlow    = labelAirFlow;
            m_labelStatus     = labelStatus;
            m_stationID       = stationID;
            m_port            = port;
            m_liveData        = new LiveDataModel(m_jbcConnect, m_radChartView, m_labelHotAirTemp, m_labelExtTCTemp, m_labelAirFlow, m_labelStatus, m_stationID);


            //
            //Initialize axis
            //

            //Horizontal axis - Time
            m_timeAxis.LabelFitMode        = AxisLabelFitMode.MultiLine;
            m_timeAxis.PlotMode            = AxisPlotMode.OnTicks;
            m_timeAxis.ShowLabels          = true;
            m_timeAxis.LabelFormatProvider = new LabelTimeFormat();
            m_timeAxis.LabelOffset         = 1; //no mostrar el primer label

            //Vertical axis - Temperature
            m_tempAxis.AxisType  = AxisType.Second;
            m_tempAxis.Title     = "Temp ºC";
            m_tempAxis.Maximum   = TEMP_MAX;
            m_tempAxis.Minimum   = TEMP_MIN;
            m_tempAxis.MajorStep = TEMP_STEP;

            //Vertical axis - Power
            m_powerAxis.HorizontalLocation = AxisHorizontalLocation.Right;
            m_powerAxis.AxisType           = AxisType.Second;
            m_powerAxis.Title     = "Power %";
            m_powerAxis.Maximum   = POWER_MAX;
            m_powerAxis.Minimum   = POWER_MIN;
            m_powerAxis.MajorStep = POWER_STEP;

            //
            //Initialize grid area
            //

            //Adjust margins
            m_radChartView.View.Margin = new Padding(0);

            CartesianArea area = m_radChartView.GetArea <CartesianArea>();
            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalStripes   = true;
            grid.DrawVerticalFills     = false;
            grid.ForeColor             = Color.DarkGray;


            //Se añaden y se quitan dos series vacias a cada eje para que pinte del color correcto el eje de temperatura y de potencia
            FastLineSeries lineSeries = new FastLineSeries();

            lineSeries.BorderColor    = Color.Black;
            lineSeries.DataSource     = new BindingList <DataSerie>();
            lineSeries.HorizontalAxis = m_timeAxis;
            lineSeries.VerticalAxis   = m_tempAxis;
            m_radChartView.Series.Add(lineSeries);

            lineSeries                = new FastLineSeries();
            lineSeries.BorderColor    = Color.Black;
            lineSeries.DataSource     = new BindingList <DataSerie>();
            lineSeries.HorizontalAxis = m_timeAxis;
            lineSeries.VerticalAxis   = m_powerAxis;
            m_radChartView.Series.Add(lineSeries);

            m_radChartView.Series.Clear();


            //
            //Initialize series
            //

            //Profile hot air temp
            FastLineSeries serieProfileHotAirTemp = new FastLineSeries();

            serieProfileHotAirTemp.Name           = "Profile hot air temperature";
            serieProfileHotAirTemp.LegendTitle    = "Profile hot air temperature";
            serieProfileHotAirTemp.BorderColor    = Color.LightCoral;
            serieProfileHotAirTemp.PointSize      = new SizeF(0, 0);
            serieProfileHotAirTemp.CategoryMember = "Time";
            serieProfileHotAirTemp.ValueMember    = "Value";
            serieProfileHotAirTemp.DataSource     = m_liveData.DataProfileHotAirTemp;
            serieProfileHotAirTemp.BorderWidth    = 1;
            serieProfileHotAirTemp.HorizontalAxis = m_timeAxis;
            serieProfileHotAirTemp.VerticalAxis   = m_tempAxis;
            m_radChartView.Series.Add(serieProfileHotAirTemp);
            //Profile ext TC temp
            FastLineSeries serieProfileExtTCTemp = new FastLineSeries();

            serieProfileExtTCTemp.Name           = "Profile ext TC temperature";
            serieProfileExtTCTemp.LegendTitle    = "Profile ext TC temperature";
            serieProfileExtTCTemp.BorderColor    = Color.LightGreen;
            serieProfileExtTCTemp.PointSize      = new SizeF(0, 0);
            serieProfileExtTCTemp.CategoryMember = "Time";
            serieProfileExtTCTemp.ValueMember    = "Value";
            serieProfileExtTCTemp.DataSource     = m_liveData.DataProfileExtTCTemp;
            serieProfileExtTCTemp.BorderWidth    = 1;
            serieProfileExtTCTemp.HorizontalAxis = m_timeAxis;
            serieProfileExtTCTemp.VerticalAxis   = m_tempAxis;
            m_radChartView.Series.Add(serieProfileExtTCTemp);
            //Profile air flow
            FastLineSeries serieProfileAirFlow = new FastLineSeries();

            serieProfileAirFlow.Name           = "Profile air flow";
            serieProfileAirFlow.LegendTitle    = "Profile air flow";
            serieProfileAirFlow.BorderColor    = Color.DeepSkyBlue;
            serieProfileAirFlow.PointSize      = new SizeF(0, 0);
            serieProfileAirFlow.CategoryMember = "Time";
            serieProfileAirFlow.ValueMember    = "Value";
            serieProfileAirFlow.DataSource     = m_liveData.DataProfileAirFlow;
            serieProfileAirFlow.BorderWidth    = 1;
            serieProfileAirFlow.HorizontalAxis = m_timeAxis;
            serieProfileAirFlow.VerticalAxis   = m_powerAxis;
            m_radChartView.Series.Add(serieProfileAirFlow);
            //Hot air temp
            FastLineSeries serieHotAirTemp = new FastLineSeries();

            serieHotAirTemp.Name           = "Hot air temperature";
            serieHotAirTemp.LegendTitle    = "Hot air temperature";
            serieHotAirTemp.BorderColor    = Color.DarkRed;
            serieHotAirTemp.PointSize      = new SizeF(0, 0);
            serieHotAirTemp.CategoryMember = "Time";
            serieHotAirTemp.ValueMember    = "Value";
            serieHotAirTemp.DataSource     = m_liveData.DataHotAirTemp;
            serieHotAirTemp.BorderWidth    = 1;
            serieHotAirTemp.HorizontalAxis = m_timeAxis;
            serieHotAirTemp.VerticalAxis   = m_tempAxis;
            m_radChartView.Series.Add(serieHotAirTemp);
            //Ext TC temp
            FastLineSeries serieExtTCTemp = new FastLineSeries();

            serieExtTCTemp.Name           = "Ext TC temperature";
            serieExtTCTemp.LegendTitle    = "Ext TC temperature";
            serieExtTCTemp.BorderColor    = Color.DarkGreen;
            serieExtTCTemp.PointSize      = new SizeF(0, 0);
            serieExtTCTemp.CategoryMember = "Time";
            serieExtTCTemp.ValueMember    = "Value";
            serieExtTCTemp.DataSource     = m_liveData.DataExtTCTemp;
            serieExtTCTemp.BorderWidth    = 1;
            serieExtTCTemp.HorizontalAxis = m_timeAxis;
            serieExtTCTemp.VerticalAxis   = m_tempAxis;
            m_radChartView.Series.Add(serieExtTCTemp);
            //Air flow
            FastLineSeries serieAirFlow = new FastLineSeries();

            serieAirFlow.Name           = "Air flow";
            serieAirFlow.LegendTitle    = "Air flow";
            serieAirFlow.BorderColor    = Color.RoyalBlue;
            serieAirFlow.PointSize      = new SizeF(0, 0);
            serieAirFlow.CategoryMember = "Time";
            serieAirFlow.ValueMember    = "Value";
            serieAirFlow.DataSource     = m_liveData.DataAirFlow;
            serieAirFlow.BorderWidth    = 1;
            serieAirFlow.HorizontalAxis = m_timeAxis;
            serieAirFlow.VerticalAxis   = m_powerAxis;
            m_radChartView.Series.Add(serieAirFlow);
            //Vertical mark serie
            FastLineSeries serieVerticalMark = new FastLineSeries();

            serieVerticalMark.BorderColor    = Color.Black;
            serieVerticalMark.PointSize      = new SizeF(0, 0);
            serieVerticalMark.CategoryMember = "Time";
            serieVerticalMark.ValueMember    = "Value";
            serieVerticalMark.DataSource     = m_liveData.DataVerticalMark;
            serieVerticalMark.BorderWidth    = 1;
            serieVerticalMark.HorizontalAxis = m_timeAxis;
            serieVerticalMark.VerticalAxis   = m_tempAxis;
            m_radChartView.Series.Add(serieVerticalMark);
        }
Пример #12
0
        void radChartView1_Drill(object sender, DrillEventArgs e)
        {
            CartesianSeries series = new BarSeries();

            series.ValueMember    = "Value";
            series.CategoryMember = "Date";

            DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis();
            CartesianArea           area           = e.View.GetArea <CartesianArea>();

            area.ShowGrid = true;

            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.DrawVerticalStripes   = true;

            this.radChartView1.ShowTrackBall = false;
            switch (e.Level)
            {
            case 0:
                series.DataSource        = DrillDownViewModel.ParseDataByYear();
                radChartView1.Title      = "Revenue by Years";
                grid.DrawVerticalStripes = false;
                this.FillBarSeries(series);
                break;

            case 1:
                if (e.SelectedPoint != null)
                {
                    year = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Year;
                }

                series.DataSource          = DrillDownViewModel.ParseDataByMonth(year);
                radChartView1.Title        = "Revenue by Months";
                horizontalAxis.LabelFormat = "{0:MMMM}";
                horizontalAxis.Title       = "Months";
                grid.DrawVerticalStripes   = false;
                this.FillBarSeries(series);
                break;

            case 2:
                if (e.SelectedPoint != null)
                {
                    month = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Month;
                }

                series                        = new LineSeries();
                series.ValueMember            = "Value";
                series.CategoryMember         = "Date";
                series.DataSource             = DrillDownViewModel.ParseDataByDay(year, month);
                series.ShowLabels             = true;
                series.DrawLinesToLabels      = true;
                series.SyncLinesToLabelsColor = false;
                series.LinesToLabelsColor     = Color.Black;

                radChartView1.Title              = "Revenue by Days";
                horizontalAxis.LabelFormat       = "{0:dd}";
                horizontalAxis.Title             = "Days";
                this.radChartView1.ShowTrackBall = true;
                grid.DrawVerticalStripes         = true;
                series.ForeColor = Color.Black;
                this.SetTrackBall();
                break;
            }

            e.View.Axes.Clear();
            series.HorizontalAxis = horizontalAxis;
            e.View.Series.Clear();
            e.View.Series.Add(series);

            this.FillColors(e.View, KnownPalette.Warm);
        }