private Chart GenerateStubChart() { var result = new Chart { Caption = "Monthly Revenue" }; result.AddSets(new { Jan = 420000, Feb = 910000, Mar = 720000, Apr = 550000, May = 810000, Jun = 510000, Jul = 680000, Aug = 620000, Sep = 610000, Oct = 490000, Nov = 530000, Dec = 330000 }); return result; }
/// <summary> /// Парсит датасеты вида 100.2,50.50;23.5,66.4 и выдаёт готовый график /// </summary> /// <param name="chartData">Представление датасетов</param> /// <returns>Сформированный график</returns> public static IChart ParseDatasets(string chartData) { var chart = new Chart { Config = new ChartConfig() }; var datasets = chartData.SmartSplit(false, true, new[] {';'}); foreach (var ds in datasets) { var dataset = new ChartDataset(); EnumerableExtensions.DoForEach(ds.SmartSplit(false, true, new[] { ',' }), _ => dataset.Add(new ChartSet().SetValue(_.ToDecimal())) ); chart.Add(dataset); } for (var i = 0; i < chart.Datasets.Children.Select(_ => _.Children.Count()).Max(); i++) { chart.Add(new ChartCategory().SetLabelValue("")); } return chart; }