1

C#で積み上げ棒グラフのようなものを必要とするシステムを作成していますコードなどを試して積み上げ棒グラフのチュートリアルを検索しましたが、必要な出力に到達できないようです。検索したチュートリアルのほとんどは基本の棒グラフ。今、私はデータグリッドビュー(色付きのセル)でこれを行いましたが、データグリッドビューから積み上げ棒グラフを作成するのはちょっとばかげているようです.

画像リンク: http://tinypic.com/r/v8oe8k/8

ここに私の質問があります。この写真を見てください。積み上げ棒グラフでこれを行うことは可能ですか?

1.) シリーズは、最初の列からの他のスタックなしで、別の列に継続できますか? (シリーズ 2)

2.) シリーズは空きスペースに積み重ねることができますか? (シリーズ 5)

3.) 上記の 2 つの項目が可能である場合、これは多系列の棒グラフでも可能ですか? (オプション)

これが可能である場合は、私を助けてください(サンプルコードスニペットを提供すると、本当に大きな助けになります)

ありがとう。良い一日を

編集:ここに私のコードがあります:

        chart1.Series.Add("Series 1");
        chart1.Series.Add("Series 2");
        chart1.Series.Add("Series 3");
        chart1.Series.Add("Series 4");
        chart1.Series.Add("Series 5");
        chart1.Series["Series 1"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 2"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 3"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 4"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 5"].ChartType = SeriesChartType.StackedColumn;

        chart1.Series["Series 1"].Points.AddXY(1, 50);
        chart1.Series["Series 2"].Points.AddXY(1, 100);
        chart1.Series["Series 2"].Points.AddXY(2, 50);
        chart1.Series["Series 3"].Points.AddXY(2, 200);            
        chart1.Series["Series 3"].Points.AddXY(3, 100);
        chart1.Series["Series 4"].Points.AddXY(3, 50);
        chart1.Series["Series 5"].Points.AddXY(5, 150);
4

2 に答える 2

1

空のスペースを削除するには、すべての X 値に対してすべてのシリーズで同じ数のポイントが必要です。

    chart1.Series["Series 1"].Points.AddXY(1, 50);
    chart1.Series["Series 2"].Points.AddXY(1, 100);
    chart1.Series["Series 3"].Points.AddXY(1, 0);   
    chart1.Series["Series 4"].Points.AddXY(1, 0);
    chart1.Series["Series 5"].Points.AddXY(1, 0); 

    chart1.Series["Series 1"].Points.AddXY(2, 0);     
    chart1.Series["Series 2"].Points.AddXY(2, 50);
    chart1.Series["Series 3"].Points.AddXY(2, 200);   
    chart1.Series["Series 4"].Points.AddXY(2, 0); 
    chart1.Series["Series 5"].Points.AddXY(2, 0); 

    chart1.Series["Series 1"].Points.AddXY(3, 0);
    chart1.Series["Series 2"].Points.AddXY(3, 0);         
    chart1.Series["Series 3"].Points.AddXY(3, 100);
    chart1.Series["Series 4"].Points.AddXY(3, 50);
    chart1.Series["Series 5"].Points.AddXY(3, 0);

    chart1.Series["Series 1"].Points.AddXY(5, 0);
    chart1.Series["Series 2"].Points.AddXY(5, 0);
    chart1.Series["Series 3"].Points.AddXY(5, 0);
    chart1.Series["Series 4"].Points.AddXY(5, 0);
    chart1.Series["Series 5"].Points.AddXY(5, 150);
于 2016-01-12T10:33:58.923 に答える
-1

棒グラフを描画するカスタム コントロールを作成してみてください。独自のコントロールの作成に関するチュートリアルを参照してください。次に、コントロールのペイントをオーバーライドしてチャートを描画します。

カスタム コントロールのチュートリアル: http://techymedia.com/post/2013/04/21/How-to-create-custom-Control-In-C-Sharp-Tutorial-Step-By-Step.aspx (コントロールの作成について)独自の変数を追加してから、paint メソッドでグラフを描画できます。)

グラフ コントロール: http://www.codeproject.com/Articles/5431/A-flexible-charting-library-for-NET

于 2014-02-24T00:28:00.470 に答える