Beispiel #1
0
        private static void VennDiagramExamples()
        {
            Console.WriteLine("**Venn Diagram Examples**");

            // Generate some random data of integers
            Console.WriteLine("Generating Random Values");
            int    numberofsets = 5;
            int    maxvalue     = 100;
            int    maxitems     = 50;
            Random ran          = new Random(135121321);

            VennSet <int>[] sets = new VennSet <int> [numberofsets];
            for (int i = 0; i < numberofsets; i++)
            {
                sets[i] = new VennSet <int>(string.Format("Set {0}", i));
                for (int j = 0; j < maxitems; j++)
                {
                    sets[i].Add(ran.Next(maxvalue));
                }
            }

            // Create diagram
            VennDiagram <int> diagram = VennDiagram <int> .CreateDiagram(sets);
        }
Beispiel #2
0
        public static string GetVennData(string type, DateTime stDate, DateTime edDate)
        {
            ActiveUsrList accidListModel = DashBoardAnalyzeBLL.GetVennUsrList(type, stDate, edDate);
            VennSetsModel setsModel      = new VennSetsModel();
            VennSet       vennSet        = new VennSet();
            List <int>    tempAccidList  = new List <int>();

            int comCount = 0;

            List <string> strList  = new List <string>();
            DateTime      iterDate = stDate;

            while (iterDate < edDate)
            {
                strList.Add(iterDate.ToShortDateString());
                iterDate = iterDate.AddDays(1);
            }

            Dictionary <string, int> dic = new Dictionary <string, int>();

            for (int i = 0; i < strList.Count; i++)
            {
                SetEnumList.Add(strList[i]);
                dic.Add(strList[i], i);
            }

            //递归获取所有日期组合的集合
            Combination(dic, strList);

            //初始化日期组合的集合
            foreach (string str in SetEnumList)
            {
                vennSet.SetsElements = str.Split(',').ToList();
                comCount             = vennSet.SetsElements.Count;
                if (comCount == 1)
                {
                    try
                    {
                        vennSet.SetsCount  = accidListModel.ActiveAccids.Find(x => x.DayDate.ToShortDateString() == vennSet.SetsElements[0]).AccidList.Count;
                        vennSet.SetsDetail = accidListModel.ActiveAccids.Find(x => x.DayDate.ToShortDateString() == vennSet.SetsElements[0]).AccidList;
                    }
                    catch (Exception ex)
                    {
                        vennSet.SetsCount  = 0;
                        vennSet.SetsDetail = new List <int>();
                    }
                }
                else
                {
                    try
                    {
                        tempAccidList = accidListModel.ActiveAccids.Find(x => x.DayDate.ToShortDateString() == vennSet.SetsElements[0]).AccidList;
                        for (int i = 1; i < comCount; i++)
                        {
                            tempAccidList = tempAccidList.Intersect(accidListModel.ActiveAccids.Find(x => x.DayDate.ToShortDateString() == vennSet.SetsElements[i]).AccidList).ToList();
                        }
                        vennSet.SetsCount  = tempAccidList.Count;
                        vennSet.SetsDetail = tempAccidList;
                    }
                    catch (Exception ex)
                    {
                        vennSet.SetsDetail = new List <int>();
                        vennSet.SetsCount  = 0;
                    }
                }

                setsModel.SetsList.Add(new VennSet(vennSet.SetsElements, vennSet.SetsCount, vennSet.SetsDetail));
            }

            SetEnumList = new List <string>();
            return(CommonLib.Helper.JsonSerializeObject(setsModel));
        }
Beispiel #3
0
        private static void VennDiagramExamples()
        {
            Console.WriteLine("**Venn Diagram Examples**");

            // Generate some random data of integers
            Console.WriteLine("Generating Random Values");
            int numberofsets = 5;
            int maxvalue = 100;
            int maxitems = 50;
            Random ran = new Random(135121321);
            VennSet<int>[] sets = new VennSet<int>[numberofsets];
            for (int i = 0; i < numberofsets; i++)
            {
                sets[i] = new VennSet<int>(string.Format("Set {0}", i));
                for (int j = 0; j < maxitems; j++)
                {
                    sets[i].Add(ran.Next(maxvalue));
                }
            }

            // Create diagram
            VennDiagram<int> diagram = VennDiagram<int>.CreateDiagram(sets);
        }