Rechnung um Werte zu "Dezimieren"

OP #4955556
Hallo, ich möchte in Canvas ein Diagramm bauen...

dieses Diagramm wird mit Hunderten oder gar Tausenden werten gefüttert.

jetzt habe ich unten in der X-Achse ja nur begrenzt Platz dies 
Darzustellen, also habe ich mir einen "Detector" gebaut (diesen brauche 
ich auch um die Werte richtig verteilen zu können) wie breit denn meine 
Werte sind.

Also habe ich eine Feste Breite alle Werte X eine Anzahl der Werte N
Ebenso habe ich eine Breite für mein Canvas W

wenn ich jetzt folgendes Rechne:
AUFRUNDEN( 1 / ( W / ( X * N ) )

erhalte ich eine Zahl größer gleich 1, dann passen meine Werte schön 
nebeneinander hin...

erhalte ich aber größer 1 müssen die werten entsprechend "dezimiert" 
werden.

Wie kann ich ein Javascript Array

werte = [ 1, 2, 3, 4, 5, ... ]

so bearbeiten, dass immer ein bestimmter Wert gelöscht wird?

ein Ansatz wäre:
1
function dezimiereArray( array, num ) {
2
  zaehler = 0;
3
  rueckgabe = [];
4
  array.forEach( function( val, obj ) {
5
    zaehler++;
6
    if( zaehler == num ) {
7
      rueckgabe.push( val );
8
      zaehler = 0;
9
    }
10
  });
11
  return rueckgabe;
12
}

aber so richtig "edel" sieht das nicht aus... hat jemand eine bessere 
Idee?
Gast #4955732
Clemens L. schrieb:
> Das kommt auf die Bedeutung der Werte an.
>
> Letztendlich musst du mehrere Werte zu einem zusammenfassen. Ob
> Durchschnittswert oder Min/Max oder etwas anderes sinnvoll ist, musst du
> selbst entscheiden.

Verstehe ich auch so... So mache ich das auch immer.

Vorgegeben ist die feste Breite des Diagramms. (z.b. 500px) jedes Pixel 
soll ein Wert verdeutlichen. Deine Anzahl an Werten (z.b. 5000) durch 
die 500 und dann diesen Bereich mitteln. In meinem Beispiel alle 10 
Werte einmal Mitteln und diesen Wert dann plotten.
Gast #4955755
Baeri B. schrieb:

Du stellst an sich eine Frage, die sich auf eine Lösung bezieht.

Ich halte es aber für möglich, dass sich die Aufgabenstellung selbst, 
noch verändern könnte oder anders formuliert werden könnte und das 
Auswirkungen auf die Lösung hat. Für den Fall, dass Du meinst, das könne 
Dir helfen:


> Hallo, ich möchte in Canvas ein Diagramm bauen...
> dieses Diagramm wird mit Hunderten oder gar Tausenden werten gefüttert.
>
> jetzt habe ich unten in der X-Achse ja nur begrenzt Platz dies
> Darzustellen, [...]

Könntest Du das gewünschte Diagramm einmal genauer bezeichnen? Du 
könntest Dich vielleicht an den unter 
https://de.wikipedia.org/wiki/Diagramm genannten orientieren, wenn Du 
möchtest.

An sich habe ich, nach Deinen Worten, erst einmal ein "Punktediagramm" 
vor Augen. Dabei aber habe ich das Problem, dass ich mir nicht erklären 
kann, welche Rolle die Anzahl der Punkte für die X-Achse spielt. Besser 
gesagt, kann ich mir vorstellen, dass es Varianten davon gibt, bei denen 
es das von Dir genannte Problem gibt, aber nicht, warum Du eine dieser 
Problem-Varianten gewählt hast, wenn es auch andere gibt.

Allgemein gesagt, würde ich fragen wollen, was denn der Betrachter aus 
dem Diagramm ablesen können soll.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.