JürgenB: Skalierung der Zeitachse eines Diagramms

Hallo,

ich trage Messdaten gegen die Zeit auf. Die Zeit wird dabei relativ zur Startzeit, also mit Start bei 0 angegeben. Bisher beschrifte ich die Zeitachse mit Dezimalstunden. Jetzt möchte ich die Achsenbeschriftung erweitern auf Jahr/Monat/Tag/Stunde/Minute.

Mein Problem ist jetzt: wieviele Tage gebe ich einem Monat. Bei 30 Tagen fehlen beim Übergang von 12 Monaten auf 1 Jahr 5 Tage an den auch willkürlich gewählten 365 Tagen/Jahr. Daher meine Frage: wie skaliert man die Zeitachse für Monatsangaben? 365/12? 30 und 31 Tage im Wechsel? Oder ist es eine schlechte Idee, verstrichene Zeit in Monaten anzugeben?

Gruß
Jürgen

  1. Oder ist es eine schlechte Idee, verstrichene Zeit in Monaten anzugeben?

    Im Prinzip: "Ja".

    Wie Du selbst feststellst ist die Monatslänge "volatil". Wochen, Dekaden, und "30 Tage" haben eine feste Länge.

    1. Hallo Regina Schaukrug,

      Oder ist es eine schlechte Idee, verstrichene Zeit in Monaten anzugeben?

      Im Prinzip: "Ja".

      Beispiele dafür gibt es dennoch, Klimadiagramme etwa.

      Bis demnächst
      Matthias

      --
      Rosen sind rot.
      1. Oder ist es eine schlechte Idee, verstrichene Zeit in Monaten anzugeben?

        Im Prinzip: "Ja".

        Beispiele dafür gibt es dennoch, Klimadiagramme etwa.

        Richtig. Die arbeiten strikt kalendarisch. Das ist wohl etwas anderes als der Ansatzpunkt von JürgenB. Möglicherweise sollte Jürgen überlegen ob er nicht vielleicht auch genau das will.

  2. Hallo JürgenB,

    Ich würde 365/12 nehmen.

    Bis demnächst
    Matthias

    --
    Rosen sind rot.
  3. Hallo,

    danke für die Anregungen. Ich werde mich von der Idee, nach Monaten zu skalieren, verabschieden. Auch einen Monat mit 365/12 Tagen zu nehmen, beißt sich beim Übergang von Tag auf Monat.

    Ich nehme jetzt bei kleinen Zeitspannen die relative Zeit in Stunden, und bei großen Zeitspannen nehme ich die absolute Zeit, skaliere auf vielfaches von 24 Stunden, und berechne die Beschriftung mit toLocalString bzw. toLocalDateString.

    Gruß
    Jürgen