private Task <ChartDataSource> OnInit(int dsCount, int daCount) { var ds = new ChartDataSource(); ds.Options.XAxes.Add(new ChartAxes() { LabelString = "天数" }); ds.Options.YAxes.Add(new ChartAxes() { LabelString = "数值" }); ds.Labels = Enumerable.Range(1, daCount).Select(i => i.ToString()); for (var index = 0; index < dsCount; index++) { ds.Data.Add(new ChartDataset() { Label = $"数据集 {index}", Data = Enumerable.Range(1, daCount).Select(i => Randomer.Next(20, 37)).Cast <object>() }); } return(Task.FromResult(ds)); }
private void DataUpdated() { // Replace the datasource with a new one _dataSource = new ChartDataSource <T> (_data, ChartSeries(), o => { // Get the value for the specified property key and convert it to an NSObject return(o.GetPropertyValue(_xValueKey).ConvertToNSObject()); }, o => { return(o.GetPropertyValue(_yValueKey).ConvertToNSObject()); }); _chart.DataSource = _dataSource; // Need to redraw to see the changes _chart.RedrawChart(); }
private Task <ChartDataSource> OnInit() { var ds = new ChartDataSource(); ds.Options.Title = "Pie 饼图"; ds.Labels = Utility.Colors.Take(PieDataCount); for (var index = 0; index < PieDatasetCount; index++) { ds.Data.Add(new ChartDataset() { Label = $"数据集 {index}", Data = Enumerable.Range(1, PieDataCount).Select(i => Randomer.Next(20, 37)).Cast <object>() }); } return(Task.FromResult(ds)); }
private Task <ChartDataSource> OnInit(float tension, bool hasNull) { var ds = new ChartDataSource(); ds.Options.Title = "Line 折线图"; ds.Options.X.Title = "天数"; ds.Options.Y.Title = "数值"; ds.Labels = Enumerable.Range(1, LineDataCount).Select(i => i.ToString()); for (var index = 0; index < LineDatasetCount; index++) { ds.Data.Add(new ChartDataset() { Tension = tension, Label = $"数据集 {index}", Data = Enumerable.Range(1, LineDataCount).Select((i, index) => (index == 2 && hasNull) ? null ! : (object)Randomer.Next(20, 37)) });
public CryptoCenterMainForm() { InitializeComponent(); cryptoChart1.AnimationsEnabled = false; cryptoChart2.AnimationsEnabled = false; cryptoChart3.AnimationsEnabled = false; ChartDataSource.AnimationsEnabled = false; _MainViewModel.Context = System.Threading.SynchronizationContext.Current; _MainViewModel.StartOHCLService(); //_MainViewModel.GetNews(); _MainViewModel.StartTickerService(); //_MainViewModel.StartSocialStatsService(); TickerContainer.SetItems(_MainViewModel.Ticker.Items); cryptoChart1.MaxItems = 800; //cryptoChart1.AddSeries(new Controls.Chart.ChartSeriesVolume(_MainViewModel.OHCLDay.Items, "Volume", _MainViewModel.BaseCurrency + " Volume")); cryptoChart1.AddSeries(new Controls.Chart.ChartSeriesAverage(_MainViewModel.OHCLDay.Items, "Price", _MainViewModel.BaseCurrency + " Daily Price")); //cryptoChart1.AddSeries(new Controls.Chart.ChartSeriesSocialStats(_MainViewModel.SocialStatsDay.Items, "RedditDailyComments", _MainViewModel.BaseCurrency + "RedditDailyComments", "RedditDailyComments")); cryptoChart2.MaxItems = 150; //cryptoChart2.AddSeries(new Controls.Chart.ChartSeriesVolume(_MainViewModel.OHCLHour.Items, "Volume", _MainViewModel.BaseCurrency + " Hourly Volume")); cryptoChart2.AddSeries(new Controls.Chart.ChartSeriesOHCL(_MainViewModel.OHCLHour.Items, "Price", _MainViewModel.BaseCurrency + " Hourly Price")); cryptoChart2.AddSeries(new Controls.Chart.ChartSeriesSingleValue(_MainViewModel.PredictedHour.Items, "Prediced Price", _MainViewModel.BaseCurrency + " Prediced Price", "Column")); cryptoChart3.MaxItems = 60; cryptoChart3.AddSeries(new Controls.Chart.ChartSeriesVolume(_MainViewModel.OHCLMinute.Items, "Volume", _MainViewModel.BaseCurrency + " Minutely Volume")); cryptoChart3.AddSeries(new Controls.Chart.ChartSeriesOHCL(_MainViewModel.OHCLMinute.Items, "Price", _MainViewModel.BaseCurrency + " Minutely Price")); ChartDataSource.AddSeries(new Controls.Chart.ChartSeriesAverage(_MainViewModel.OHCLHour.Items, "Price", _MainViewModel.BaseCurrency + " Price")); ChartDataSource.Chart.AxisY.Clear(); DataGridSourceData.DataBindings.Add("DataSource", _MainViewModel, "SourceData"); label1.DataBindings.Add("Text", _MainViewModel, "ComputedCloseChange1"); label2.DataBindings.Add("Text", _MainViewModel, "ComputedCloseChange2"); label3.DataBindings.Add("Text", _MainViewModel, "TrainingStatus"); NeuroNetworkProgressBar.DataBindings.Add("Maximum", _MainViewModel, "TrainingEpochs"); NeuroNetworkProgressBar.DataBindings.Add("Value", _MainViewModel, "FinishedTrainingEpochs"); TickerContainer.TickerItemDoubleClicked += TickerTileDoubleClicked; }
private Task <ChartDataSource> OnInit(bool stacked) { var ds = new ChartDataSource(); ds.Options.Title = "Bar 柱状图"; ds.Options.X.Title = "天数"; ds.Options.Y.Title = "数值"; ds.Options.X.Stacked = stacked; ds.Options.Y.Stacked = stacked; ds.Labels = Enumerable.Range(1, BarDataCount).Select(i => i.ToString()); for (var index = 0; index < BarDatasetCount; index++) { ds.Data.Add(new ChartDataset() { Label = $"数据集 {index}", Data = Enumerable.Range(1, BarDataCount).Select(i => Randomer.Next(20, 37)).Cast <object>() }); } return(Task.FromResult(ds)); }
private Task <ChartDataSource> OnBubbleInit(int dsCount, int daCount) { var ds = new ChartDataSource(); ds.Labels = Enumerable.Range(1, daCount).Select(i => i.ToString()); for (var index = 0; index < dsCount; index++) { ds.Data.Add(new ChartDataset() { Label = $"数据集 {index}", Data = Enumerable.Range(1, daCount).Select(i => new { x = Randomer.Next(10, 40), y = Randomer.Next(10, 40), r = Randomer.Next(1, 20) }) }); } return(Task.FromResult(ds)); }
private Task <ChartDataSource> OnInit() { var ds = new ChartDataSource { Labels = Enumerable.Range(1, BubbleDataCount).Select(i => i.ToString()) }; ds.Options.Title = "Bubble 气泡图"; for (var index = 0; index < BubbleDatasetCount; index++) { ds.Data.Add(new ChartDataset() { Label = $"数据集 {index}", Data = Enumerable.Range(1, BubbleDataCount).Select(i => new { x = Randomer.Next(10, 40), y = Randomer.Next(10, 40), r = Randomer.Next(1, 20) }) }); } return(Task.FromResult(ds)); }