private GdiRangeBar AddRangeBar(GdiRectangle chartContainer) { var barHeight = chartContainer.Size.Height - 60; var rangeBar = new GdiRangeBar { Size = new SizeF(chartContainer.Size.Width, barHeight), Margin = new PointF(0, 10), BackgroundColor = ColorTranslator.FromHtml("#123367"), CenterColor = ColorTranslator.FromHtml("#BDD2F3") }; chartContainer.AddChild(rangeBar); return(rangeBar); }
private void AddRangeBarColumns(GdiRectangle chartContainer, GdiRangeBar rangeBar) { var onePercentWidth = rangeBar.Size.Width / 100; // bar is 100% width var columnHeight = rangeBar.Size.Height + 30; var columnTop = rangeBar.Margin.Y - ((columnHeight - rangeBar.Size.Height) / 2); var rangeValue = MaxValue - MinValue; foreach (var entry in Entries) { var x = (entry.Value - MinValue) / rangeValue * 100 * onePercentWidth; var column = new GdiColumn { BackgroundColor = entry.Color, Size = new SizeF(10, columnHeight), Margin = new PointF(x - 5, columnTop) }; chartContainer.AddChild(column); } }
private void AddRangeBarLabels(GdiRectangle chartContainer, GdiRangeBar rangeBar) { var margin = new PointF(0, rangeBar.Margin.Y + rangeBar.Size.Height + 15); if (!string.IsNullOrWhiteSpace(LeftLabel)) { chartContainer.AddChild(new GdiText { TextColor = TextColor, Content = LeftLabel, Font = Font, Margin = margin }); } if (!string.IsNullOrWhiteSpace(CenterLabel)) { chartContainer.AddChild(new GdiText { TextColor = TextColor, Content = CenterLabel, Font = Font, HorizontalAlignment = GdiSharp.Enum.GdiHorizontalAlign.Center, Margin = margin }); } if (!string.IsNullOrWhiteSpace(RightLabel)) { chartContainer.AddChild(new GdiText { TextColor = TextColor, Content = RightLabel, Font = Font, HorizontalAlignment = GdiSharp.Enum.GdiHorizontalAlign.Right, Margin = margin, TextAlign = StringAlignment.Far }); } }