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));
        }
Exemple #2
0
 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();
 }
Exemple #3
0
    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));
    }
Exemple #7
0
        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));
    }