Tworzenie wykresów na podstawie list

0

Podczas tworzenia wykresu słupkowego w C# pojawił się pewien problem.

private void BLoad_Click(object sender, RoutedEventArgs e)
        {
            if (daty.Count == 0 || czas.Count == 0) {
                MessageBox.Show("brak dat");
            }
            else {
                int i = 0;
                int j = 0;
                while (i <= (daty.Count-1) && j <= (czas.Count-1))
                {
                    ((ColumnSeries)Czas.Series[0]).ItemsSource =
                    new KeyValuePair<string, int>[]{
                    new KeyValuePair<string, int>(daty[i].ToString(),Int32.Parse(czas[j].ToString())),};
                    i++;
                    j++;
                }
            }
        }

Podczas dodawania kolejnych słupków wykresu dodaje mi jedynie słupek ostatniej wartości na liście z której pobieram dane. Co mogę zmienić żebym mógł stworzyć wykres ze wszystkimi wartościami z listy. daty[] i czas[] są to listy z danymi.

0
((ColumnSeries)Czas.Series[0]).ItemsSource

Za każdym razem dodajesz do do pierwszego elementu. Spróbuj

((ColumnSeries)Czas.Series[i]).ItemsSource

Btw staraj się używać jakiejś konwencji nazw bo masz daty (l.m) i czas (l.poj).

0
((ColumnSeries)Czas.Series[0]).ItemsSource

Za każdym razem dodajesz do do pierwszego elementu. Spróbuj

((ColumnSeries)Czas.Series[i]).ItemsSource

Nie wiem czy problem leży po stronie dodawania do elementu.Po stworzeniu listy 2 elementowej ten kod działa bezproblemowo

                    ((ColumnSeries)Czas.Series[0]).ItemsSource =
                    new KeyValuePair<string, int>[]{
                    new KeyValuePair<string, int>(daty[0].ToString(),Int32.Parse(czas[0].ToString())),
                    new KeyValuePair<string, int>(daty[1].ToString(),Int32.Parse(czas[1].ToString())),};

.

1 użytkowników online, w tym zalogowanych: 0, gości: 1