2

チャートを介して月ごとの総販売額を表示する小さなプログラムを作成しています。SQL 応答名 (2012'7、2012'8、2012) で X 軸ポイント (1、2、3、4、5) を呼び出す必要があります。 '9) ですが、これを行う方法が見つかりません。

ここに画像の説明を入力

コード:

        sqlQuery = "SELECT YEAR(`importdate`) as 'Year', MONTH(`importdate`) as 'Month', SUM(`price`) as 'Sum' FROM `wagon` GROUP BY MONTH(`importdate`), YEAR(`importdate`) ORDER BY YEAR(`importdate`), MONTH(`importdate`) ASC LIMIT 12";

        MySqlConnection sqlConnection = new MySqlConnection(sqlParams);
        MySqlCommand sqlCommand = new MySqlCommand(sqlQuery, sqlConnection);

        chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineColor = Color.Gainsboro;
        chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.LineColor = Color.Gainsboro;

        try
        {
            sqlConnection.Open();

            MySqlDataReader sqlReader = sqlCommand.ExecuteReader();

            if (sqlReader.HasRows)
            {
                while (sqlReader.Read())
                {
                    string Sum = sqlReader["Sum"].ToString();
                    if (Sum.Contains(",")) Sum = Sum.Replace(",", ".");

                    string serieName = "Series1";
                   // string serieName = sqlReader["Year"].ToString() + '\'' + sqlReader["Month"].ToString();
                   // chart1.Series.Add(sqlReader["Year"].ToString() + '\'' + sqlReader["Month"].ToString());

                   // chart1.Series[serieName].ChartArea = "ChartArea1";

                    chart1.Series[serieName].Points.AddY(Sum);


                    chart1.Series[serieName].ChartType = SeriesChartType.Line;
                    chart1.Series[serieName].IsValueShownAsLabel = true;
                    //sqlReader["Year"].ToString() + '"' + sqlReader["Month"].ToString()
                }
            }
        }
4

1 に答える 1

6

私があなたを正しければ、あなたはこれを使います:

Chart1.ChartAreas(0).AxisX.CustomLabels.Add(0.5, 1.5, "1");
            Chart1.ChartAreas(0).AxisX.CustomLabels.Add(1.5, 2.5, "2");
            Chart1.ChartAreas(0).AxisX.CustomLabels.Add(2.5, 3.5, "3");
            Chart1.ChartAreas(0).AxisX.CustomLabels.Add(3.5, 4.5, "4");
            Chart1.ChartAreas(0).AxisX.CustomLabels.Add(4.5, 5.5, "5");

最初の 2 つの数値は、これらのラベルがどれだけ広がるかを決定します。3 番目はラベル自体です。

于 2013-01-06T21:53:29.160 に答える