public async Task <ScatterPlotData[]> Get(string startDateString, string finishDateString, bool product, bool engineering, bool unanticipated, bool assessmentsTeam, bool enterpriseTeam) { var startDate = DateHelper.GetStartDate(startDateString); var finishDate = DateHelper.GetFinishDate(finishDateString); var scatterPlotHelper = new ScatterPlotHelper(); var result = await scatterPlotHelper .GetLeadTimeScatterPlotDataAsync(startDate, finishDate, product, engineering, unanticipated, assessmentsTeam, enterpriseTeam); var returning = new ScatterPlotData[result.Count]; for (var i = 0; i < result.Count; i++) { if (product) { returning[i] = result[TaskItemType.Product]; product = false; } else if (engineering) { returning[i] = result[TaskItemType.Engineering]; engineering = false; } else if (unanticipated) { returning[i] = result[TaskItemType.Unanticipated]; unanticipated = false; } } return(returning); }
/// <summary> /// Scatter Plot Data from CSV File. /// </summary> /// <param name="FilePath">File Path to where CSV is stored.</param> /// <param name="DomainX">Boundary domain for values along X Axis.</param> /// <param name="DomainY">Boundary domain for values along Y Axis.</param> /// <returns name="Data">Scatter Plot Data.</returns> /// <search>scatter plot, data</search> public static ScatterPlotData DataFromCSV( string FilePath, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainX, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainY) { List<ScatterPlotDataPoint> dataPoints = new List<ScatterPlotDataPoint>(); var csv = new List<string[]>(); var lines = System.IO.File.ReadAllLines(FilePath); for (int i = 1; i < lines.Count(); i++) { string line = lines[i]; if (i > 0) { string lineName = line.Split(',')[0]; double lineValueX = Convert.ToDouble(line.Split(',')[1]); double lineValueY = Convert.ToDouble(line.Split(',')[2]); double lineSize = Convert.ToDouble(line.Split(',')[3]); string lineColor = line.Split(',')[4]; dataPoints.Add(new ScatterPlotDataPoint { name = lineName, valueX = lineValueX, valueY = lineValueY, size = lineSize, color = lineColor}); } } ScatterPlotData scatterData = new ScatterPlotData(); scatterData.Data = dataPoints; scatterData.DomainX = DomainX; scatterData.DomainY = DomainY; return scatterData; }
private Dictionary <TaskItemType, ScatterPlotData> EstablishScatterPlotDataStructure(List <TaskItemType> cardTypes) { var scatterPlotDataStructure = new Dictionary <TaskItemType, ScatterPlotData>(); foreach (var cardType in cardTypes) { scatterPlotDataStructure[cardType] = new ScatterPlotData { name = cardType.ToString(), turboThreshold = 500000, data = new List <Datum>() }; } return(scatterPlotDataStructure); }
/// <summary> /// Scatter Plot Data from CSV File. /// </summary> /// <param name="FilePath">File Path to where CSV is stored.</param> /// <param name="DomainX">Boundary domain for values along X Axis.</param> /// <param name="DomainY">Boundary domain for values along Y Axis.</param> /// <returns name="Data">Scatter Plot Data.</returns> /// <search>scatter plot, data</search> public static ScatterPlotData DataFromCSV( object FilePath, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainX, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainY) { // get full path to file as string // if File.FromPath is used it returns FileInfo class string _filePath = ""; try { _filePath = (string)FilePath; } catch { _filePath = ((FileInfo)FilePath).FullName; } List <ScatterPlotDataPoint> dataPoints = new List <ScatterPlotDataPoint>(); var csv = new List <string[]>(); var lines = System.IO.File.ReadAllLines(_filePath); for (int i = 1; i < lines.Count(); i++) { string line = lines[i]; if (i > 0) { string lineName = line.Split(',')[0]; double lineValueX = Convert.ToDouble(line.Split(',')[1]); double lineValueY = Convert.ToDouble(line.Split(',')[2]); double lineSize = Convert.ToDouble(line.Split(',')[3]); int lineColor = Convert.ToInt32(line.Split(',')[4]); dataPoints.Add(new ScatterPlotDataPoint { name = lineName, valueX = lineValueX, valueY = lineValueY, size = lineSize, color = lineColor }); } } ScatterPlotData scatterData = new ScatterPlotData(); scatterData.Data = new JavaScriptSerializer().Serialize(dataPoints); scatterData.DomainX = DomainX; scatterData.DomainY = DomainY; return(scatterData); }
/// <summary> /// Scatter Plot Data. /// </summary> /// <param name="Names">Names for Data Points.</param> /// <param name="ValueX">Value along X Axis.</param> /// <param name="ValueY">Value along Y Axis.</param> /// <param name="Size">Size of displayed dot.</param> /// <param name="DomainX">Boundary domain for values along X Axis.</param> /// <param name="DomainY">Boundary domain for values along Y Axis.</param> /// <returns name="Data">Scatter Plot Data.</returns> /// <search>scatter plot, data</search> public static ScatterPlotData Data( List<string> Names, List<double> ValueX, List<double> ValueY, List<double> Size, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainX, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainY) { List<ScatterPlotDataPoint> dataPoints = Names .ZipFour(ValueX, ValueY, Size, (x, y, z, v) => new ScatterPlotDataPoint { name = x, valueX = y, valueY = z, size = v }) .ToList(); ScatterPlotData spData = new ScatterPlotData(); spData.Data = dataPoints; spData.DomainX = DomainX; spData.DomainY = DomainY; return spData; }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { ScatterPlotData data = null; ScatterPlotStyle style = null; if (!DA.GetData <ScatterPlotData>(0, ref data)) { return; } if (!DA.GetData <ScatterPlotStyle>(1, ref style)) { return; } d3ScatterPlot chart = new d3ScatterPlot(data, style); DA.SetData(0, chart); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { List <string> names = new List <string>(); List <double> valuesX = new List <double>(); List <double> valuesY = new List <double>(); List <double> sizes = new List <double>(); Domain domainX = null; Domain domainY = null; if (!DA.GetDataList <string>(0, names)) { return; } if (!DA.GetDataList <double>(1, valuesX)) { return; } if (!DA.GetDataList <double>(2, valuesY)) { return; } if (!DA.GetDataList <double>(3, sizes)) { return; } DA.GetData <Domain>(4, ref domainX); DA.GetData <Domain>(5, ref domainY); List <ScatterPlotDataPoint> dataPoints = names .ZipFour(valuesX, valuesY, sizes, (x, y, z, v) => new ScatterPlotDataPoint { name = x, valueX = y, valueY = z, size = v }) .ToList(); ScatterPlotData data = new ScatterPlotData(); data.Data = new JavaScriptSerializer().Serialize(dataPoints); data.DomainX = domainX; data.DomainY = domainY; DA.SetData(0, data); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { string filePath = null; Domain domainX = null; Domain domainY = null; if (!DA.GetData <string>(0, ref filePath)) { return; } DA.GetData <Domain>(1, ref domainX); DA.GetData <Domain>(2, ref domainY); List <ScatterPlotDataPoint> dataPoints = new List <ScatterPlotDataPoint>(); var csv = new List <string[]>(); var lines = System.IO.File.ReadAllLines(filePath); for (int i = 1; i < lines.Count(); i++) { string line = lines[i]; if (i > 0) { string lineName = line.Split(',')[0]; double lineValueX = Convert.ToDouble(line.Split(',')[1]); double lineValueY = Convert.ToDouble(line.Split(',')[2]); double lineSize = Convert.ToDouble(line.Split(',')[3]); string lineColor = line.Split(',')[4]; dataPoints.Add(new ScatterPlotDataPoint { name = lineName, valueX = lineValueX, valueY = lineValueY, size = lineSize, color = lineColor }); } } ScatterPlotData data = new ScatterPlotData(); data.Data = new JavaScriptSerializer().Serialize(dataPoints); data.DomainX = domainX; data.DomainY = domainY; DA.SetData(0, data); }
/// <summary> /// Scatter Plot Data. /// </summary> /// <param name="Names">Names for Data Points.</param> /// <param name="ValueX">Value along X Axis.</param> /// <param name="ValueY">Value along Y Axis.</param> /// <param name="Size">Size of displayed dot.</param> /// <param name="Colors">Color of each dot.</param> /// <param name="DomainX">Boundary domain for values along X Axis.</param> /// <param name="DomainY">Boundary domain for values along Y Axis.</param> /// <returns name="Data">Scatter Plot Data.</returns> /// <search>scatter plot, data</search> public static ScatterPlotData Data( List <string> Names, List <double> ValueX, List <double> ValueY, List <double> Size, List <int> Colors, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainX, [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain DomainY) { List <ScatterPlotDataPoint> dataPoints = Names .ZipFive(ValueX, ValueY, Size, Colors, (x, y, z, v, w) => new ScatterPlotDataPoint { name = x, valueX = y, valueY = z, size = v, color = w }) .ToList(); ScatterPlotData spData = new ScatterPlotData(); spData.Data = new JavaScriptSerializer().Serialize(dataPoints); spData.DomainX = DomainX; spData.DomainY = DomainY; return(spData); }
/// <summary> /// Scatter Plot Chart. /// </summary> /// <param name="Data">Scatter Plot Data.</param> /// <param name="Style">Scatter Plot Style.</param> /// <returns name="Chart">Scatter Plot Chart.</returns> /// <search>scatter plot, chart</search> public static d3ScatterPlot Chart(ScatterPlotData Data, ScatterPlotStyle Style) { d3ScatterPlot chart = new d3ScatterPlot(Data, Style); return(chart); }