public void DrawChart(bool refresh = false) { if (refresh) { Treemap.BuildAndDraw(); } else { var indx = Indexes.Select(i => Data.GetValues <string>(i.Column)).ToList(); var size = Data.GetValues <double>(SizeColumn).ToList(); var color = Data.GetValues <object>(ColorColumn); TreemapParameters parameters = GetParameters(); parameters.AutoRefresh = AutoRefresh; Treemap.DrawChart(indx, size, color, parameters); } if (!Treemap.IsActive) { IsDead = true; Messenger.Default.Send(new NotificationMessage <ChartBase>(Treemap, "Chart has been unactivated"), "ChartUnactivated"); MessageBox.Show("An error has occured during chart rendering.", "Unexpected error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private TreemapParameters GetParameters() { TreemapParameters parameters = new TreemapParameters(); parameters.ShowTitle = ShowTitle; parameters.Title = String.IsNullOrEmpty(Title.Value) ? SizeColumn : Title.Value; parameters.Algorithm = Algorithm; foreach (TreemapIndexViewModel index in Indexes) { parameters.AddIndex(index.GetTreemapIndex()); } parameters.WithColor(GetColorModel()); parameters.ShowLegend = ShowLegend; parameters.LegendTitle = ColorColumn; parameters.LegendPosition = LegendPosition; parameters.LegendBorder = parameters.Indexes.Last().GetLineOptions().With(o => o.Weight = o.Weight.Cap(1)); parameters.LegendTextFormater.FormatType = LegendFormatType; parameters.LegendTextFormater.DecimalPlaces = LegendDecimalPlaces; return(parameters); }