我正在使用带有 Silverlight 4.0 的 Silverlight 的 Telerik RadChart 控件。我有一个问题,因为我认为我的数据集存在差异,这导致我较大的堆叠条在 ChartArea 内被剪裁。没问题,我想,我可以遍历所有数据并找到 StackedBar 的最大尺寸,并调整 y 轴的比例。这是我选择实施的方法。
private void ForceScaleOfYaxis(IEnumerable<ChartObject> chartData)
{
double sum = 0;
foreach (var bar in chartData)
{
sum = Math.Max(sum, bar.Series1 +
bar.Series2 +
bar.Series3 +
bar.Series4 +
bar.Series5);
}
ChartArea chartArea = radChart1.DefaultView.ChartArea;
chartArea.AxisY.AutoRange = true;
double min = chartArea.AxisY.ActualMinValue;
double step = sum / 10;
chartArea.AxisY.AutoRange = false;
chartArea.AxisY.AddRange(min, sum, step);
}
这工作得很好,因为它将 y 轴更改为等于堆叠条的系列值的最大总和。
现在我有一个不同的问题:我正确设置了 y 轴的比例,但图表似乎没有堆叠。
如下图所示,您可以在此屏幕截图中看到这一点。