private void PieChart_DataClick_1(object sender, LiveCharts.ChartPoint chartPoint)
        {
            var chart          = (PieChart)chartPoint.ChartView;
            var selectedSeries = (PieSeries)chartPoint.SeriesView;

            (DataContext as StatisticsViewmodel).SelectedSeries = selectedSeries;
        }
Exemple #2
0
        private void MainChart_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
        {
            var            x = chartPoint.X;
            IPageViewModel y = (IPageViewModel)DataContext;

            y.CurrentRow = (int)x;
        }
        /// <summary>
        /// event handler when a point on the chart is clicked
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="chartPoint"></param>
        private void chart_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
        {
            var chartType = vm.HandlePointClick(chartPoint);

            btnLowDelete.IsEnabled  = false;
            btnHighDelete.IsEnabled = false;

            switch (chartType)
            {
            case "low":
                btnLowDelete.IsEnabled = true;
                btnLowAdd.Visibility   = Visibility.Collapsed;
                btnLowEdit.Visibility  = Visibility.Visible;

                btnHighAdd.Content = "\xE710";
                break;

            case "high":
                btnHighDelete.IsEnabled = true;
                btnHighAdd.Visibility   = Visibility.Collapsed;
                btnHighEdit.Visibility  = Visibility.Visible;

                btnLowAdd.Content = "\xE710";
                break;
            }
        }
 /// <summary>
 /// Pies the chart view model on pie click.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The e.</param>
 private void OnSerieClick(object sender, LiveCharts.ChartPoint e)
 {
     if (Enum.TryParse <CurrencyType>(e.SeriesView.Title, true, out var value))
     {
         var trades = this._leagueTrades.Where(t => t.Price.CurrencyType == value);
         var chart  = new ColumnChartViewModel(trades.Select(t => t.ItemName).ToArray());
         chart.Add(e.SeriesView.Title, trades.Select(t => t.Price.NumberOfCurrencies));
         this._tradesChart = chart;
         this.ActiveChart  = this._tradesChart;
     }
 }
 /// <summary>
 /// Items the class chart on serie click.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The e.</param>
 private void ItemClassChart_OnSerieClick(object sender, LiveCharts.ChartPoint e)
 {
     if (Enum.TryParse <ItemClass>(e.SeriesView.Title, true, out var value))
     {
         var trades = this._leagueTrades.Where(t => t.ItemClass == value);
         var chart  = new ColumnChartViewModel(trades.Select(t => t.ItemName).ToArray());
         chart.Add(e.SeriesView.Title, trades.Select(t => t.Price.CalculateValue()));
         this._tradesChart = chart;
         this.ActiveChart  = this._tradesChart;
     }
 }
        private void PieChart_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
        {
            var chart = (LiveCharts.Wpf.PieChart)chartPoint.ChartView;

            //clear selected slice.
            foreach (PieSeries series in chart.Series)
            {
                series.PushOut = 0;
            }

            var selectedSeries = (PieSeries)chartPoint.SeriesView;

            selectedSeries.PushOut = 8;
        }
Exemple #7
0
        private void Factories_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
        {
            _dataViewModel = SimpleIoc.Default.GetInstance <ChartDataPopupViewModel>();

            if (_dataViewModel == null)
            {
                return;
            }

            _dataViewModel.ChartType = EChartType.Factories;
            _dataViewModel.Key       = chartPoint.SeriesView.Title;
            _dataViewModel.Year      = _viewModel.SelectedYear;

            ChartDataPopupView view = new ChartDataPopupView();

            view.Owner = Window.GetWindow(this);
            view.ShowDialog();
        }
Exemple #8
0
        private void PLChart_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
        {
            if (Selected != null)
            {
                var firstTime  = Math.Min(chartPoint.X, Selected.X);
                var secondTime = Math.Max(chartPoint.X, Selected.X);

                var firstSnapshotIndex  = StrategyStatistics.Snapshots.FindIndex(s => s.Time.Ticks == firstTime);
                var secondSnapshotIndex = StrategyStatistics.Snapshots.FindIndex(s => s.Time.Ticks == secondTime);
                var firstSnapshot       = StrategyStatistics.Snapshots[firstSnapshotIndex];
                var secondSnapshot      = StrategyStatistics.Snapshots[secondSnapshotIndex];

                var selectedSnapshots = StrategyStatistics.Snapshots.GetRange(firstSnapshotIndex, secondSnapshotIndex - firstSnapshotIndex + 1);
                var avgTime           = 0;
                for (int i = firstSnapshotIndex; i < secondSnapshotIndex; i++)
                {
                    avgTime += (int)(StrategyStatistics.Snapshots[i + 1].Time - StrategyStatistics.Snapshots[i].Time).TotalSeconds;
                }
                avgTime /= (secondSnapshotIndex - firstSnapshotIndex);
                var periodsPerYear = (int)(TimeSpan.FromDays(365).TotalSeconds / avgTime);
                var sharpeRatio    = Statistics.SharpeRatio(periodsPerYear, selectedSnapshots.Select(s => s.PL), selectedSnapshots.Select(s => s.BenchmarkPL));

                var relativePL          = (1 + secondSnapshot.CumulativePL) / (1 + firstSnapshot.CumulativePL) - 1;
                var relativeBenchmarkPL = (1 + secondSnapshot.BenchmarkCumulativePL) / (1 + firstSnapshot.BenchmarkCumulativePL) - 1;
                var absolutePL          = secondSnapshot.PortfolioValue - firstSnapshot.PortfolioValue;

                string infoString = $"Relative Strategy PL: {relativePL}\nRelative Benchmark PL: {relativeBenchmarkPL}\nPortfolio Value Change: {absolutePL}\nSharpe Ratio: {sharpeRatio}";
                new Thread(new ThreadStart(delegate
                {
                    MessageBox.Show(infoString, "Relative information", MessageBoxButton.OK, MessageBoxImage.Information);
                })).Start();

                Selected = null;
            }
            else
            {
                Selected = chartPoint;
            }
        }
 private void cartesianChart1_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
 {
     ShowDataVM.RebuildClastering(cartesianChart1, dataGridView2, (int)chartPoint.X, (int)chartPoint.Y, Convert.ToInt32(numericUpDown1.Value));
 }
Exemple #10
0
        private void PieChart_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
        {
            var country = chartPoint.SeriesView.Title;

            (DataContext as StatsViewModel).UpdateTopPerformersAsync(country);
        }
 private void PieChart_DataClick(object sender, LiveCharts.ChartPoint chartPoint)
 {
 }