我使用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轴的比例,但图表似乎没有叠加。
可以通过下面的图表看到这一点,如此屏幕截图所示。
答案 0 :(得分:0)
我不认为这与YAxis Range引起的条形裁剪有关,而是与分组数据和填充图表的方式有关。 您的示例项目应该对实际问题有所了解。