2011-12-23 4 views
0

スタックグラフに3つの系列を追加しました。私は各バーの上部に値を追加したい。各シリーズではありません。いくつかのバーにはいくつかのシリーズがないので。 ですから、各列の上部にvaueを追加します。MSChartのスタックグラフのトップ値

  chart1.Legends.Add("Legend").Alignment = StringAlignment.Center; 
      chart1.Palette = ChartColorPalette.None; 
      chart1.PaletteCustomColors = new Color[] { Color.FromArgb(0, 255, 0), Color.FromArgb(0, 128, 0), Color.FromArgb(255, 0, 0), Color.Green }; 

      // Series for the graph. 
      Series series1; 
      Series series2; 
      Series series3; 
      Series series4; 


      series1= new Series("series1"); 
      series12= new Series("series2"); 
      series13= new Series("series3"); 
      series14= new Series("series4"); 

    series1.Points.AddXY(values); 
      series2.Points.AddXY(values); 
    series3.Points.AddXY(values); 
    series4.Points.AddXY(values); 

      series1.CustomProperties = "PixelPointWidth = 17"; 
      series2.CustomProperties = "PixelPointWidth = 17"; 
      series3.CustomProperties = "PixelPointWidth = 2"; 
      series4.CustomProperties = "PixelPointWidth = 17"; 

      series3.ChartType = SeriesChartType.Line; 
      series3.BorderWidth = 2; 
      series3.Color = Color.Blue; 

      series1.ChartType = series2 = series4.ChartType = SeriesChartType.StackedColumn; 
      series1.Font = series2.Font = series3.Font = series4.Font = new Font("Verdana", 8.25f, FontStyle.Regular); 

      chart1.Series.Add(series1); 
      chart1.Series.Add(series2); 
      chart1.Series.Add(series3); 
      chart1.Series.Add(series4); 

    foreach (Series series in chart1.Series) 
      { 
       if (series.Name == "series1") 
       { 
        series.ChartType = SeriesChartType.StackedColumn; 
        series["ColumnDrawingStyle"] = "series1Style"; 
        series["LabelStyle"] = "Top"; 
        // this willl shows the label at top of bar 
        series.IsValueShownAsLabel = true; 
       } 
      } 

答えて

1

私はあなたが積層型の場合のように列の中央にStackColumnとないの上にいくつかの合計を表示したいと考えています。

次に、合計であるもう1つのシリーズを追加することをお勧めします。ChartType = Bubbleとし、このシリーズのラベルを設定し、積み重ねた列の一部を形成するために無効にすることができます。

+0

私はもう一つのシリーズを追加しましたが、私はこのシリーズのおいしいラベルを書くことができる場所を知りたいと思います。シリーズseries_TOPValue =新しいシリーズ( "TOPValue"); series_TOPValue.ChartType = SeriesChartType.Bubble; chart1.Series.Add(series_TOPValue); – user990897

+0

必要なものをまとめ、Series [0] .Points.DataBind(data、 "Text"、 "Total"、 "Label = [customlabelproperyhere]")のようなLabelのDataSourceとして割り当てます。 – V4Vendetta

関連する問題