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 に答える