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; }
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; }
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(); }
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)); }
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) { }