/// <summary> /// Normalized Stacked Bar Chart Data object. /// </summary> /// <param name="Headers">Names of all values that will be grouped. First value is always "Name".</param> /// <param name="Values">Nested List of values where first item in a sub-list is Group Name. Following items /// must match number of value names defined in Headers input. </param> /// <returns name="Data">Normalized Stacked Bar Chart Data</returns> /// <search>normalized, data, stacked, bar, chart</search> public static NormalizedStackedBarChartData Data( List <string> Headers, List <List <object> > Values) { NormalizedStackedBarChartData data = new NormalizedStackedBarChartData(); data.Data = ChartsUtilities.DataToJsonString(ChartsUtilities.Data2FromList(Headers, Values)); return(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; if (!DA.GetData <string>(0, ref filePath)) { return; } NormalizedStackedBarChartData data = new NormalizedStackedBarChartData(); data.Data = D3jsLib.Utilities.ChartsUtilities.Data2FromCSV(filePath); 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) { NormalizedStackedBarChartData data = null; NormalizedStackedBarChartStyle style = null; if (!DA.GetData <NormalizedStackedBarChartData>(0, ref data)) { return; } if (!DA.GetData <NormalizedStackedBarChartStyle>(1, ref style)) { return; } D3jsLib.NormalizedStackedBarChart.NormalizedStackedBarChart chart = new D3jsLib.NormalizedStackedBarChart.NormalizedStackedBarChart(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> headers = new List <string>(); GH_Structure <GH_String> values; if (!DA.GetDataList <string>(0, headers)) { return; } if (!DA.GetDataTree(1, out values)) { return; } NormalizedStackedBarChartData data = new NormalizedStackedBarChartData(); data.Data = ChartsUtilities.DataToJsonString(Utilities.Utilities.Data2FromTree(headers, values)); 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) { List <string> headers = new List <string>(); GH_Structure <GH_String> values; if (!DA.GetDataList <string>(0, headers)) { return; } if (!DA.GetDataTree(1, out values)) { return; } List <DataPoint2> dataPoints = Mandrill_Grasshopper.Utilities.Utilities.Data2FromTree(headers, values); NormalizedStackedBarChartData data = new NormalizedStackedBarChartData(); data.Data = dataPoints; DA.SetData(0, data); }
/// <summary> /// Normalized Stacked Bar Chart Data object. /// </summary> /// <param name="FilePath">Path to a CSV file.</param> /// <returns name="Data">Data Class for use with Stacked Bar Chart.</returns> /// <search>normalized, data, stacked bar chart, chart, bar, grouped</search> public static NormalizedStackedBarChartData DataFromCSV( object FilePath) { // 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; } NormalizedStackedBarChartData data = new NormalizedStackedBarChartData(); data.Data = ChartsUtilities.DataToJsonString(ChartsUtilities.Data2FromCSV(_filePath)); return(data); }
/// <summary> /// Normalized Stacked Bar Chart Data object. /// </summary> /// <param name="Headers">Names of all values that will be grouped. First value is always "Name".</param> /// <param name="Values">Nested List of values where first item in a sub-list is Group Name. Following items /// must match number of value names defined in Headers input. </param> /// <returns name="Data">Normalized Stacked Bar Chart Data</returns> /// <search>normalized, data, stacked, bar, chart</search> public static NormalizedStackedBarChartData Data( List <string> Headers, List <List <object> > Values) { List <DataPoint2> dataPoints = new List <DataPoint2>(); foreach (List <object> subList in Values) { DataPoint2 dataPoint = new DataPoint2(); dataPoint.Name = subList[0].ToString(); Dictionary <string, double> values = new Dictionary <string, double>(); for (int i = 1; i < subList.Count(); i++) { values.Add(Headers[i], Convert.ToDouble(subList[i])); } dataPoint.Values = values; dataPoints.Add(dataPoint); } NormalizedStackedBarChartData data = new NormalizedStackedBarChartData(); data.Data = dataPoints; return(data); }
/// <summary> /// New Normalized Stacked Bar Chart object. /// </summary> /// <param name="Data">Normalized Stacked Bar Chart Data.</param> /// <param name="Style">Normalized Stacked Bar Chart Style.</param> /// <returns name="Chart">Generated Bar Chart.</returns> /// <search>normalized, bar, chart, grouped</search> public static D3jsLib.NormalizedStackedBarChart.NormalizedStackedBarChart Chart(NormalizedStackedBarChartData Data, NormalizedStackedBarChartStyle Style) { D3jsLib.NormalizedStackedBarChart.NormalizedStackedBarChart chart = new D3jsLib.NormalizedStackedBarChart.NormalizedStackedBarChart(Data, Style); return(chart); }