Esempio n. 1
0
        /// <summary>
        ///     Собирает из указанного представления чарта в виде <see cref="IChart"/> экземпляр <see cref="BrickDataSet"/>
        /// </summary>
        /// <param name="chart">Исходное представление чарта</param>
        /// <returns>Заполненное представление датасета в виде <see cref="BrickDataSet"/></returns>
        public static BrickDataSet ToBrickDataset(this IChart chart)
        {
            var ds    = new BrickDataSet();
            var seria = 0;

            chart.Datasets.Children.DoForEach(_ => {
                seria++;
                _.Children.DoForEach(__ => ds.Add(seria, 0, FusionChartExtensions.GetValue(__)));
            });
            return(ds);
        }
Esempio n. 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);
        }
        public void MultiSeria_Stacked_Neg_And_Pos_Minimal_1()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.MultiSeriaStacked;
            dr.Add(1, 1, 1);
            dr.Add(2, 2, -3);

            Assert.AreEqual(-3m, dr.GetMin());
            Assert.AreEqual(1m, dr.GetMax());
        }
        public void SingleRow_Only_Negative_Test()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.Linear;
            dr.Add(1, 1, -11);
            dr.Add(1, 1, -13);
            dr.Add(1, 1, -9.8m);
            dr.Add(1, 1, -15m);
            dr.Add(1, 1, -17m);
            dr.Add(1, 1, -10m);
            Assert.AreEqual(-17m, dr.GetMin());
            Assert.AreEqual(-9.8m, dr.GetMax());
        }
        public void MultiSeria_Stacked_Neg_And_Pos()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.MultiSeriaStacked;
            dr.Add(1, 1, 1);
            dr.Add(1, 1, 2);
            dr.Add(1, 2, -3);
            dr.Add(1, 2, 4);
            dr.Add(2, 3, 2);
            dr.Add(2, 3, 5);
            dr.Add(2, 4, 7);
            dr.Add(2, 4, -8);
            Assert.AreEqual(-8m, dr.GetMin());
            Assert.AreEqual(9m, dr.GetMax());
        }
        public void MultiSeria_Stacked_Only_Pos()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.MultiSeriaStacked;
            dr.Add(1, 1, 1);
            dr.Add(1, 1, 2);
            dr.Add(1, 2, 3);
            dr.Add(1, 2, 4);
            dr.Add(2, 3, 2);
            dr.Add(2, 3, 5);
            dr.Add(2, 4, 6);
            dr.Add(2, 4, 8);
            Assert.AreEqual(4m, dr.GetMin());
            Assert.AreEqual(13m, dr.GetMax());
        }
        public void Simple_Stacked_Two_Seria_Two_Rows_Only_Pos()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.Stacked;
            dr.Add(1, 1, 1);
            dr.Add(1, 1, 2);
            dr.Add(1, 1, 3);
            dr.Add(1, 1, 4);
            dr.Add(2, 2, 2);
            dr.Add(2, 2, 5);
            dr.Add(2, 2, 6);
            dr.Add(2, 2, 8);
            Assert.AreEqual(3m, dr.GetMin());
            Assert.AreEqual(12m, dr.GetMax());
        }
        public void MultiSeria_Positive_And_Negative_One_Seria_Two_Rows()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.Linear;
            dr.Add(1, 1, 11.5m);
            dr.Add(1, 1, -13);
            dr.Add(1, 1, 9.8m);
            dr.Add(1, 1, -15m);
            dr.Add(1, 1, -17.2m);
            dr.Add(1, 1, -10m);

            dr.Add(1, 2, 11.2m);
            dr.Add(1, 2, -13.1m);
            dr.Add(1, 2, 9.8m);
            dr.Add(1, 2, -15m);
            dr.Add(1, 2, -17.4m);
            dr.Add(1, 2, -10m);
            Assert.AreEqual(-17.4m, dr.GetMin());
            Assert.AreEqual(11.5m, dr.GetMax());
        }
        public void Simple_Stacked_One_Seria_Three_Rows_With_Negative()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.Stacked;
            dr.Add(1, 1, 1);
            dr.Add(1, 1, 2);
            dr.Add(1, 1, 3);
            dr.Add(1, 1, 4);

            dr.Add(1, 2, -2);
            dr.Add(1, 2, 5);
            dr.Add(1, 2, -6);
            dr.Add(1, 2, -1);

            dr.Add(1, 3, 2);
            dr.Add(1, 3, -5);
            dr.Add(1, 3, 6);
            dr.Add(1, 3, -8);
            Assert.AreEqual(-9m, dr.GetMin());
            Assert.AreEqual(9m, dr.GetMax());
        }
        public void MultiSeria_Two_Scale()
        {
            var dr = new BrickDataSet();

            dr.Preferences.SeriaCalcMode = SeriaCalcMode.Linear;
            dr.Add(1, 1, 11.5m);
            dr.Add(1, 1, -13);
            dr.Add(1, 1, 9.8m);
            dr.Add(1, 1, -15m);
            dr.Add(1, 1, -17.2m);
            dr.Add(1, 1, -10m);

            dr.Add(2, 2, 11.2m, true);
            dr.Add(2, 2, -13.1m, true);
            dr.Add(2, 2, 9.8m, true);
            dr.Add(2, 2, -15m, true);
            dr.Add(2, 2, -17.4m, true);
            dr.Add(2, 2, -10m, true);
            Assert.AreEqual(-17.2m, dr.GetMin());
            Assert.AreEqual(11.5m, dr.GetMax());

            Assert.AreEqual(-17.4m, dr.GetMin(ScaleType.Second));
            Assert.AreEqual(11.2m, dr.GetMax(ScaleType.Second));
        }
Esempio n. 11
0
 /// <summary>
 ///     Преобразует данные из <see cref="BrickDataSet"/> в <see cref="IChart"/>
 /// </summary>
 /// <param name="brickDataSet">Исходный датасет в виде <see cref="BrickDataSet"/></param>
 /// <returns>Эквивалентный экземпляр <see cref="IChart"/></returns>
 public static IChart ParseBrickDataSet(BrickDataSet brickDataSet)
 {
     return(ParseDatasets(string.Join(";", brickDataSet.GetSeries().Select(_ => _.ToString()))));
 }