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