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(); } }
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; } }
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(); } }
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 * }, * * }; */ }