2017-02-24 4 views
0

列の整列に問題があります。C#グラフの列の整列

enter image description here

私はこのような配置をしたい:ここでの問題だ 。

enter image description here

ここでコード:

chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0; 
    chart1.ChartAreas[0].AxisY.MajorGrid.LineWidth = 0; 
    chart1.ChartAreas[0].Position.Auto = false; 
    chart1.ChartAreas[0].Position.X = 0; 
    chart1.ChartAreas[0].Position.Y = 0; 
    chart1.ChartAreas[0].Position.Height = 90; 
    chart1.ChartAreas[0].Position.Width = 90; 
    chart1.ChartAreas[0].AlignmentStyle = AreaAlignmentStyles.All; 
    chart1.ChartAreas[0].AlignmentOrientation = AreaAlignmentOrientations.All; 
for (int i = 2002;i<2017;i++) 
     { 
      if (con.State == ConnectionState.Open) 
      { 
       con.Close(); 
      } 
      con.Open(); 
      OleDbCommand komut = new OleDbCommand("SELECT COUNT(No) AS Sayı FROM [main$] WHERE [Yil]="+i+"", con); 
      komut.Connection = con; 
      OleDbDataReader dr = komut.ExecuteReader(); 
      if (dr.Read()) 
      { 
       chart1.Series.Add(dr["Sayı"].ToString()); 
       chart1.Series[dr["Sayı"].ToString()].Points.AddXY(i, float.Parse(dr["Sayı"].ToString())); 
       chart1.Series[i2].Color = Color.Black; 
       chart1.Series[i2]["PixelPointWidth"] = "100"; 
       chart1.Series[i2].IsVisibleInLegend = false; 
       chart1.ChartAreas[0].AxisX.LabelStyle.Format = "####" + ((char)160) + "\n"; 
       chart1.ChartAreas[0].AxisY.LabelStyle.Format = "####" + ((char)160) + "\n";   
       i2 += 1; 
      } 
     } 
+3

をあなたがやっていること、あなたのコードを表示します。 –

+0

他のシリーズにデータを追加できなかったようです。データが欠落していても、列は常に共通のx値を中心に配置されます。 - そして、なぜ、読者のループにもっと多くのシリーズを追加し続けるのですか?あなたはたぶん__oneと同じseries__にデータポイントを追加すべきでしょうか? – TaW

+0

私はそのようなチャートが欲しい:https://i.stack.imgur.com/yEZZt.png –

答えて

-1

あなたは
ソリューション@TaWありがとう:

while (dr.Read()) 
{ 
    chart1.Series["Series1"].Points.AddXY(i,float.Parse(dr["Sayi"].ToString())); 
} 
+0

そのコードを質問の先頭に追加してください!これは答えではありません! – TaW