Пример #1
0
        /// <summary>
        ///     Парсит датасеты вида 100.2,50.50;23.5,66.4 и выдаёт готовый график
        /// </summary>
        /// <param name="chartData">Представление датасетов</param>
        /// <returns>Сформированный график</returns>
        public static IChart ParseDatasets(string chartData)
        {
            var chart = new Chart {
                Config = new ChartConfig()
            };

            var datasets = chartData.SmartSplit(false, true, new[] { ';' });

            foreach (var ds in datasets)
            {
                var dataset = new ChartDataset();

                EnumerableExtensions.DoForEach(ds.SmartSplit(false, true, new[] { ',' }), _ => dataset.Add(new ChartSet().SetValue(_.ToDecimal()))
                                               );


                chart.Add(dataset);
            }

            for (var i = 0; i < chart.Datasets.Children.Select(_ => _.Children.Count()).Max(); i++)
            {
                chart.Add(new ChartCategory().SetLabelValue(""));
            }

            return(chart);
        }
Пример #2
0
        /// <summary>
        ///     Преобразует данные из <see cref="BrickDataSet"/> в <see cref="IChart"/>
        /// </summary>
        /// <param name="brickDataSet">Исходный датасет в виде <see cref="BrickDataSet"/></param>
        /// <returns>Эквивалентный экземпляр <see cref="IChart"/></returns>
        public static IChart ToChart(this BrickDataSet brickDataSet)
        {
            var chart = new Chart();

            EnumerableExtensions.DoForEach(brickDataSet.GetSeries(), _ => chart.Add(new ChartDataset(_.Select(__ => new ChartSet().SetValue(__.Value).SetLabelPosition(__.LabelPosition)))));
            for (var i = 0; i < chart.Datasets.Children.Select(_ => _.Children.Count()).Max(); i++)
            {
                chart.Add(new ChartCategory().SetLabelValue(""));
            }
            return(chart);
        }
Пример #3
0
        /// <summary>
        ///     Парсит датасеты вида 100.2,50.50;23.5,66.4 и выдаёт готовый график
        /// </summary>
        /// <param name="chartData">Представление датасетов</param>
        /// <returns>Сформированный график</returns>
        public static IChart ParseDatasets(string chartData) {
            var chart = new Chart {
                Config = new ChartConfig()
            };

            var datasets = chartData.SmartSplit(false, true, new[] {';'});

            foreach (var ds in datasets) {
                var dataset = new ChartDataset();

                EnumerableExtensions.DoForEach(ds.SmartSplit(false, true, new[] { ',' }), _ => dataset.Add(new ChartSet().SetValue(_.ToDecimal()))
                );


                chart.Add(dataset);
            }

            for (var i = 0; i < chart.Datasets.Children.Select(_ => _.Children.Count()).Max(); i++) {
                chart.Add(new ChartCategory().SetLabelValue(""));
            }

            return chart;
        }