График MScharts: перезаписать значение столбца / столбца - PullRequest
0 голосов
/ 19 октября 2011

Хорошо, это может быть новый вопрос, но я программирую всего несколько дней. Поэтому я взял пример диаграммы из MScharts, которая представляет собой динамически создаваемый график во время выполнения, код выглядит следующим образом:

        private void DynamicChartCreation_Load(object sender, System.EventArgs e)
    {
        // Create a Chart
        Chart1 = new Chart();

        // Create Chart Area
        ChartArea chartArea1 = new ChartArea();

        // Add Chart Area to the Chart
        Chart1.ChartAreas.Add(chartArea1);

        // Create a data series
        Series series1 = new Series();
        Series series2 = new Series();

        // Add data points to the first series
        series1.Points.Add(34);

        // Add data points to the second series
        series2.Points.Add(14);

        // Add series to the chart
        Chart1.Series.Add(series1);
        Chart1.Series.Add(series2);

        // Set chart control location
        Chart1.Location = new System.Drawing.Point(16, 48);

        // Set Chart control size
        Chart1.Size = new System.Drawing.Size(360, 260);

        // Add chart control to the form
        this.Controls.AddRange(new System.Windows.Forms.Control[] { this.Chart1 });

    }

Это столбчатая диаграмма, и я хочу иметь возможность динамически изменять значения столбцов с помощью комбинированного списка. Вопрос в том, как перезаписать существующие старые значения?

Я попробовал это с Series.point.add, как это:

                Chart1.Series["Series1"].Points.AddY(comboBox_value);

Но вместо применения значения к первому столбцу series1 создается еще один столбец с новым значением рядом с ним.

Любая помощь будет оценена, спасибо.

1 Ответ

0 голосов
/ 19 октября 2011

Я настроил в своем проекте axix "X", я вставляю код сюда, для вашей справки ... Он отлично работает в моей среде ... Пожалуйста, проверьте его в своей среде.

protected void SpiLineAreaChart_Customize(object sender, EventArgs e)
{
    foreach (ChartArea area in ((Chart)sender).ChartAreas) {
        foreach (Axis axis in area.Axes) {
            if (axis.Name.StartsWith("X")) {
                foreach (CustomLabel label in axis.CustomLabels) {
                    counter = counter + 1;
                }
                lastpoint = counter;
                midpoint = counter / 2;
                for (int i = 0; i <= counter - 1; i++) {
                    if (i == 0) {
                        axis.CustomLabels(i).Text = MonthVal;
                    } else if (i == midpoint - 1) {
                        StartDate = StartDate.AddDays(31);
                        strstartdate = StartDate.ToString("MMM");
                        axis.CustomLabels(i).Text = strstartdate;
                    } else if (i == lastpoint - 1) {
                        StartDate = StartDate.AddDays(31);
                        strstartdate = StartDate.ToString("MMM");
                        axis.CustomLabels(i).Text = strstartdate;
                    } else {
                        axis.CustomLabels(i).Text = "";
                    }
                }

            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...