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 軸のスケールを正しく設定しましたが、グラフが積み重なって表示されません。
このスクリーンショットに見られるように、次のチャートでこれを見ることができます。