Exemplo n.º 1
0
        private void BtnChart_Click(object sender, RoutedEventArgs e)
        {
            if (dataGridList.Count > 1)
            {
                ChartStatistics model    = new ChartStatistics();
                List <long>     ado      = new List <long>();
                List <long>     entity   = new List <long>();
                List <long>     petapoco = new List <long>();
                List <long>     drapper  = new List <long>();

                foreach (var item in dataGridList)
                {
                    ado.Add((long)item.ADO);
                    entity.Add((long)item.EntityFramework);
                    petapoco.Add((long)item.PetaPoco);
                    drapper.Add((long)item.Drapper);
                }
                model.ADO             = ado;
                model.EntityFramework = entity;
                model.PetaPoco        = petapoco;
                model.Drapper         = drapper;
                TimeChart chart = new TimeChart(model);
                chart.ShowDialog();
            }
            ///
            else if (dataGridList.Count == 1)
            {
                TimeChartModel mod = new TimeChartModel();
                mod.ChartData = new List <TimeModel>();
                mod.ChartData.Add(new TimeModel {
                    Name = ".NET ADO", Time = (long)dataGridList[0].ADO
                });
                mod.ChartData.Add(new TimeModel {
                    Name = "Entity Framework", Time = (long)dataGridList[0].EntityFramework
                });
                mod.ChartData.Add(new TimeModel {
                    Name = "PetaPoco", Time = (long)dataGridList[0].PetaPoco
                });
                mod.ChartData.Add(new TimeModel {
                    Name = "Drapper", Time = (long)dataGridList[0].Drapper
                });
                TimeChart ch = new TimeChart(mod);
                ch.ShowDialog();
            }
        }
Exemplo n.º 2
0
        void onPageSelected(int pageIdx)
        {
            mContext.setMarketControlTab(mMarketID, pageIdx);

            int      idx  = TAB_INDEX[pageIdx];
            xTabPage page = mTab.getPageAtIndex(pageIdx);

            if (idx == ID_ONLINE_CHART)
            {
                mRealtimeChart.invalidate();
            }
            else if (idx == ID_CANDLE)
            {
                xContainer c = new xContainer();
                c.setSize(mCurrentChart);

                TodayCandle            candle = new TodayCandle();
                stPriceboardStateIndex pi     = mContext.mPriceboard.getPriceboardIndexOfMarket(mMarketID);
                Share share = mContext.mShareManager.getShare(pi.code);
                candle.setShare(share);

                int w  = mCurrentChart.getW();
                int h  = mCurrentChart.getH();
                int cw = w * 3 / 7;
                if (cw > 160)
                {
                    cw = 160;
                }
                candle.setSize(cw, h);

                c.addControl(candle);

                //  summary
                xBaseControl summary = createMarketSummary(w - cw, h);
                summary.setPosition(cw, 0);
                c.addControl(summary);

                mCurrentChart = c;
                //==============================
                page.resetContent();
                page.addControl(c);
            }
            else if (idx == ID_MONEY_CHART)
            {
                page.resetContent();

                ChartStatistics moneyChart = new ChartStatistics(mMarketID, mListener);
                moneyChart.setSize(mRealtimeChart.getW(), mRealtimeChart.getH() - 18);
                moneyChart.setPosition(mRealtimeChart.getX(), mRealtimeChart.getY());
                moneyChart.setChartType(ChartStatistics.BUBBLE_TRADE_MONEY);

                moneyChart.doCalcChanged();

                page.addControl(moneyChart);

                mCurrentChart = moneyChart;
            }
            else if (idx == ID_VOLUMN_CHART)
            {
                page.resetContent();

                ChartStatistics moneyChart = new ChartStatistics(mMarketID, mListener);
                moneyChart.setSize(mRealtimeChart.getW(), mRealtimeChart.getH() - 18);
                moneyChart.setPosition(mRealtimeChart.getX(), mRealtimeChart.getY());
                moneyChart.setChartType(ChartStatistics.BUBBLE_VOLUME_WEIGHT);

                moneyChart.doCalcChanged();

                page.addControl(moneyChart);

                mCurrentChart = moneyChart;
            }
            else if (idx == ID_INDEX_EFFECT_INC)
            {
                page.resetContent();

                ChartStatistics moneyChart = new ChartStatistics(mMarketID, mListener);
                moneyChart.setSize(mRealtimeChart.getW(), mRealtimeChart.getH() - 18);
                moneyChart.setPosition(mRealtimeChart.getX(), mRealtimeChart.getY());
                moneyChart.setChartType(ChartStatistics.BUBBLE_INDEX_WEIGHT_RATIO_INC);

                moneyChart.doCalcChanged();

                page.addControl(moneyChart);

                mCurrentChart = moneyChart;
            }
            else if (idx == ID_INDEX_EFFECT_DEC)
            {
                page.resetContent();

                ChartStatistics moneyChart = new ChartStatistics(mMarketID, mListener);
                moneyChart.setSize(mRealtimeChart.getW(), mRealtimeChart.getH() - 18);
                moneyChart.setPosition(mRealtimeChart.getX(), mRealtimeChart.getY());
                moneyChart.setChartType(ChartStatistics.BUBBLE_INDEX_WEIGHT_RATIO_DEC);

                moneyChart.doCalcChanged();

                page.addControl(moneyChart);

                mCurrentChart = moneyChart;
            }
        }
Exemplo n.º 3
0
        public void RefreshChartStatisticsControl(IEnumerable <IJcwChartVectorGroup <double> > seriesVectorGroups,
                                                  IEnumerable <IJcwChartVectorGroup <double> > viewPortSeriesVectorGroups)
        {
            ChartStatistics.Clear();

            if (DisplayChartStatisticsDockingPanel)
            {
                m_jcwChartStatisticsCtl.BeginInit();
                m_jcwChartStatisticsCtl.BeginLoadData();

                foreach (IJcwChartVectorGroup <double> viewPortSeriesVectorGroup in viewPortSeriesVectorGroups)
                {
                    // Add data points for the view port for each vector.
                    foreach (IVector <double> viewPortVector in viewPortSeriesVectorGroup.Vectors)
                    {
                        // Add the series min to the chart statistics control.
                        double min = Utilities.GetMinimum(viewPortVector.Data);
                        m_jcwChartStatisticsCtl.AddSeriesDataPoint(StatisticTypes.Minimum, viewPortVector.Name, min, false);
                        if (!ChartStatistics.ContainsKey(StatisticTypes.Minimum))
                        {
                            ChartStatistics.Add(StatisticTypes.Minimum, new Dictionary <string, double> ());
                        }
                        // Add the series min to the ChartStatistics collection.
                        ChartStatistics[StatisticTypes.Minimum].Add(viewPortVector.Name, min);

                        // Add the series max to the chart statistics control.
                        double max = Utilities.GetMaximum(viewPortVector.Data);
                        m_jcwChartStatisticsCtl.AddSeriesDataPoint(StatisticTypes.Maximum, viewPortVector.Name, max, false);
                        if (!ChartStatistics.ContainsKey(StatisticTypes.Maximum))
                        {
                            ChartStatistics.Add(StatisticTypes.Maximum, new Dictionary <string, double> ());
                        }
                        // Add the series max to the ChartStatistics collection.
                        ChartStatistics[StatisticTypes.Maximum].Add(viewPortVector.Name, max);

                        // Add the series ave to the chart statistics control.
                        double ave = Utilities.GetAverage(viewPortVector.Data);
                        m_jcwChartStatisticsCtl.AddSeriesDataPoint(StatisticTypes.Average, viewPortVector.Name, ave, false);
                        if (!ChartStatistics.ContainsKey(StatisticTypes.Average))
                        {
                            ChartStatistics.Add(StatisticTypes.Average, new Dictionary <string, double> ());
                        }
                        // Add the series ave to the ChartStatistics collection.
                        ChartStatistics[StatisticTypes.Average].Add(viewPortVector.Name, ave);
                    }
                }

                // Add data points for each event in each series vector group vector.
                foreach (IJcwChartVectorGroup <double> seriesVectorGroup in seriesVectorGroups)
                {
                    foreach (IVector <double> vector in seriesVectorGroup.Vectors)
                    {
                        foreach (IVectorAggregate <double> vectorAggregate in vector.Aggregates)
                        {
                            string caption = string.Format("{0} - {1}", vector.Name, vectorAggregate.Name);
                            m_jcwChartStatisticsCtl.AddSeriesDataPoint(StatisticTypes.Minimum, caption, vectorAggregate.MinValue, true);
                            m_jcwChartStatisticsCtl.AddSeriesDataPoint(StatisticTypes.Maximum, caption, vectorAggregate.MaxValue, true);
                            m_jcwChartStatisticsCtl.AddSeriesDataPoint(StatisticTypes.Average, caption, vectorAggregate.AveValue, true);
                        }
                    }
                }

                m_jcwChartStatisticsCtl.EndLoadData();
                m_jcwChartStatisticsCtl.EndInit();
            }
        }
Exemplo n.º 4
0
        public TimeChart(ChartStatistics model)
        {
            InitializeComponent();
            var SeriesCollection = new SeriesCollection();
            var numTest          = model.EntityFramework.Count;

            string[] tests = new string[numTest];
            for (int i = 0; i < numTest; i++)
            {
                int v = i + 1;
                tests[i] = "Test " + v.ToString();
            }

            ChartValues <long> entityVal   = new ChartValues <long>();
            ChartValues <long> adoVal      = new ChartValues <long>();
            ChartValues <long> petapocoVal = new ChartValues <long>();
            ChartValues <long> drapperVal  = new ChartValues <long>();

            model.EntityFramework.ForEach(m =>
            {
                entityVal.Add(m);
            });

            model.ADO.ForEach(m =>
            {
                adoVal.Add(m);
            });
            model.PetaPoco.ForEach(m =>
            {
                petapocoVal.Add(m);
            });
            model.Drapper.ForEach(m =>
            {
                drapperVal.Add(m);
            });

            SeriesCollection.Add(new LineSeries
            {
                Title         = ".NET ADO",
                Values        = adoVal,
                PointGeometry = null
            });

            SeriesCollection.Add(new LineSeries
            {
                Title         = "Entity Framework",
                Values        = entityVal,
                PointGeometry = null
            });

            SeriesCollection.Add(new LineSeries
            {
                Title         = "PetaPoco",
                Values        = petapocoVal,
                PointGeometry = null
            });

            SeriesCollection.Add(new LineSeries
            {
                Title         = "Drapper",
                Values        = drapperVal,
                PointGeometry = null
            });

            this.lvTimeChart.Series = SeriesCollection;
            Axis axis = new Axis();

            axis.Foreground = new SolidColorBrush(Color.FromRgb(0, 0, 0));
            axis.Labels     = tests.ToList();
            axis.MinRange   = 0;
            axis.FontSize   = 15;

            Axis axisy = new Axis();

            axisy.Foreground = new SolidColorBrush(Color.FromRgb(0, 0, 0));
            axisy.FontSize   = 15;
            axisy.MinRange   = 0;
            axisy.MinValue   = 0;
            axisy.Title      = "Czas [ms]";
            this.lvTimeChart.LoadLegend();
            this.lvTimeChart.AxisX = new AxesCollection {
                axis
            };
            this.lvTimeChart.AxisY = new AxesCollection {
                axisy
            };

            /*
             * var SeriesCollection = new SeriesCollection
             * {
             *  new LineSeries
             *  {
             *      Title = "Series 2",
             *      Values = new ChartValues<double> { 6, 7, 3, 4 ,6 },
             *      PointGeometry = null
             *  },
             *
             * };
             */
        }