/// <summary> /// Grouped Bar Chart Data. /// </summary> /// <param name="Headers"></param> /// <param name="Values"></param> /// <param name="Domain"></param> /// <returns name="Data">Grouped Bar Chart Data object</returns> public static GroupedBarChartData Data( List <string> Headers, List <List <object> > Values, [DefaultArgumentAttribute("Charts.MiscNodes.GetNull()")] Domain Domain) { 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); } GroupedBarChartData data = new GroupedBarChartData(); data.Data = dataPoints; data.Domain = Domain; 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) { List <string> headers = new List <string>(); GH_Structure <GH_String> values; D3jsLib.Domain domain = null; if (!DA.GetDataList <string>(0, headers)) { return; } if (!DA.GetDataTree(1, out values)) { return; } DA.GetData <D3jsLib.Domain>(2, ref domain); List <DataPoint2> dataPoints = Mandrill_Grasshopper.Utilities.Utilities.Data2FromTree(headers, values); GroupedBarChartData data = new GroupedBarChartData(); data.Data = dataPoints; data.Domain = domain; DA.SetData(0, data); }
/// <summary> /// Grouped Bar Chart Data. /// </summary> /// <param name="Headers"></param> /// <param name="Values"></param> /// <param name="Domain"></param> /// <returns name="Data">Grouped Bar Chart Data object</returns> public static GroupedBarChartData Data( List <string> Headers, List <List <object> > Values, [DefaultArgumentAttribute("Charts.MiscNodes.GetNull()")] Domain Domain) { GroupedBarChartData data = new GroupedBarChartData(); data.Data = ChartsUtilities.DataToJsonString(ChartsUtilities.Data2FromList(Headers, Values)); data.Domain = Domain; 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; Domain domain = null; if (!DA.GetData <string>(0, ref filePath)) { return; } DA.GetData <Domain>(1, ref domain); GroupedBarChartData data = new GroupedBarChartData(); data.Data = ChartsUtilities.DataToJsonString(ChartsUtilities.Data2FromCsv(filePath)); data.Domain = domain; 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) { GroupedBarChartData data = null; GroupedBarChartStyle style = null; if (!DA.GetData <GroupedBarChartData>(0, ref data)) { return; } if (!DA.GetData <GroupedBarChartStyle>(1, ref style)) { return; } D3jsLib.GroupedBarChart.GroupedBarChart chart = new D3jsLib.GroupedBarChart.GroupedBarChart(data, style); DA.SetData(0, chart); }
/// <summary> /// Grouped Bar Chart Data object. /// </summary> /// <param name="FilePath">Path to a CSV file.</param> /// <param name="Domain">Y Domain of a chart.</param> /// <returns name="Data">Data Class for use with Grouped Bar Chart.</returns> /// <search>data, grouped bar chart, chart, bar, grouped</search> public static GroupedBarChartData DataFromCSV( object FilePath, [DefaultArgumentAttribute("Charts.MiscNodes.GetNull()")] Domain Domain) { // 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; } GroupedBarChartData data = new GroupedBarChartData(); data.Data = ChartsUtilities.DataToJsonString(ChartsUtilities.Data2FromCsv(_filePath)); data.Domain = Domain; return(data); }
/// <summary> /// New Grouped Bar Chart object. /// </summary> /// <param name="Data">Bar Chart Data.</param> /// <param name="Style">Bar Chart Style.</param> /// <returns name="Chart">Generated Bar Chart.</returns> /// <search>bar, chart, grouped</search> public static D3jsLib.GroupedBarChart.GroupedBarChart Chart(GroupedBarChartData Data, GroupedBarChartStyle Style) { D3jsLib.GroupedBarChart.GroupedBarChart chart = new D3jsLib.GroupedBarChart.GroupedBarChart(Data, Style); return(chart); }