C# Wykres w czasie rzeczywistym

C# Wykres w czasie rzeczywistym
D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Witam,

Jak zrobić by na wykresie w osi X wyświetlało czas w sekundach liczony od rozpoczęcia programu?
Ponieważ chcę stworzyć wykres zmiany pewnej wartości zmiennej w czasie rzeczywistym.
Wyświetlanie wartości tej zmiennej na wykresie mam zrobione jednak nie wiem jak ten czas zrobić na osi X.

Pzdr.

HI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1866
0

Pokaż jak masz zrealizowane to co już masz to może ktoś coś podpowie.

JP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1065
0

Odjąć datę punktu od daty uruchomienia i zamienić na sekundy.

  • Rejestracja: dni
  • Ostatnio: dni
0

Daj timer co 1s wyzwolenia, który dopisuje do wykresu kolejny punkt.

JP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1065
0

Jeśli pytanie jest o samo dodanie etykiety dla osi X to zależy trochę od komponentu wykresu i od wymaganego formatu. Co to za chart?
Czas jako sekundy w int czy jako format godziny 00:00:00?

Zwykle jest jakiś parametr dla serii czy oś X danej serii jest DateTime. Trzeba zaznaczyć i można dodawać DateTime-y odpowiednio formatując w konfiguracji oś X charta.

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Zaczął mi wyskakiwać błąd: CallbackOnCollectedDelegate po pewnym czasie trwania programu.
Kod:

Kopiuj
 public partial class Form1 : Form
    {

        int counter = 0;
        int firstPush = 0;

        public Form1()
        {
            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void gkh_KeyDown(object sender, KeyEventArgs e)
        {

            if (firstPush == 0)
            {
                firstPush = 1;
                counter++;
                chart1.Series["Series1"].Points.Add(counter);
            }

            else { firstPush = 0; }

            if (counter > 0)
            {
                timer1.Start();
            }
        }


        private void timer1_Tick(object sender, EventArgs e)
        {
            chart1.Series["Series1"].Points.Add(1);
        }
    }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.