0

我正在使用带有 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 轴的比例,但图表似乎没有堆叠。 堆积条形图

如下图所示,您可以在此屏幕截图中看到这一点。

4

1 回答 1

0

我不认为这与 YAxis Range 引起的条形剪裁有关,而是与您对数据进行分组和填充图表的方式有关。你的一个示例项目应该对真正的问题有更多的了解。

于 2012-01-08T10:10:03.507 回答