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); }
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)); }
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); }