2

Windows フォーム アプリケーションで MSChart をレンダリングするサンプル コードを以下に示します。グラフは次のようになります。

ここに画像の説明を入力

バーが短すぎる場合はデータ ポイントが追加されませんが、バーが十分に長い場合はデータ ポイントが追加されるように、データ ポイントをバーに条件付きで追加するコードを追加したいと思います。私のグラフの画像では、最初のデータ ポイント (10) はグラフに表示されませんが、残りのデータ ポイントは表示されます。誰でもこれを手伝ってもらえますか?

        chart1.ChartAreas.Add(new ChartArea());
        chart1.Series[0].IsValueShownAsLabel = true;

        int[] dataset = { 10, 40, 100, 600, 300 };

        foreach (var i in dataset)
        {
            var series1 = chart1.Series[0];
            series1.ChartType = SeriesChartType.StackedBar;

            var index1 = series1.Points.AddY(i);
        }
4

1 に答える 1

2

次のようなコードを使用して、条件付きでラベルを透明にすることができることがわかりました。

chart1.ChartAreas.Add(new ChartArea());
chart1.Series[0].IsValueShownAsLabel = true;

int[] dataset = { 10, 40, 100, 600, 300 };
var series1 = chart1.Series[0];

foreach (var i in dataset)
{               
    series1.ChartType = SeriesChartType.StackedBar;
    var index1 = series1.Points.AddY(i);
}

int j = 0;
foreach (var point in series1.Points)
{
    if (dataset[j] > 20)
    {
        point.LabelForeColor = Color.Black;
    }
    else
    {
        point.LabelForeColor = Color.Transparent;
    }
    j++;
}
于 2013-02-05T20:33:44.310 に答える