Exemple #1
0
        /// <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);
 }