public String buildOneDimensionalChart <T>(chartTypeEnum chartType, String title, List <T> source, Func <T, String> label, Func <T, String> value, Func <T, String> color = null)
        {
            var fields = GetDefaultValues();

            fields.Add("title", title);

            //List<String> color_set = new List<string>() { "69D2E7", "#E0E4CC", "#F38630", "#96CE7F", "#CEBC17", "#CE4264" };
            circularSelector <String> color_selector = new circularSelector <String>("69D2E7", "#E0E4CC", "#F38630", "#96CE7F", "#CEBC17", "#CE4264");


            foreach (T item in source)
            {
                String label_str = label(item);
                String value_str = value(item);
                String color_str = "";
                if (color == null)
                {
                    color_str = color_selector.next();
                }
                else
                {
                    color_str = color(item);
                }
                fields["colors"] = fields["colors"].add(color_str, ",");
                fields["data"]   = fields["data"].add(value_str, ",");
                fields["labels"] = fields["labels"].add(label_str, ",");
            }
            stringTemplate template = new stringTemplate(chartTemplate[chartType]);

            return(template.applyToContent(fields));
        }
Exemple #2
0
        public String buildOneDimensionalChart <T>(chartTypeEnum chartType, String title, Dictionary <String, Double> source)
        {
            var fields = GetDefaultValues();

            fields.Add("title", title);

            //List<String> color_set = new List<string>() { "69D2E7", "#E0E4CC", "#F38630", "#96CE7F", "#CEBC17", "#CE4264" };
            circularSelector <String> color_selector = new circularSelector <String>("69D2E7", "#E0E4CC", "#F38630", "#96CE7F", "#CEBC17", "#CE4264");


            foreach (var item in source)
            {
                String data = "columns: -:: ";

                String column = "-:: !" + item.Key + "!".add(item.Value.ToString(), ", ") + " ::-";

                fields["data"] = fields["data"].add(column, ", ");

                fields["data"] += " ::-";
            }
            stringTemplate template = new stringTemplate(chartTemplate[chartType]);

            return(template.applyToContent(fields));
        }