Laden...

Darstellung einer "Heatmap" oder "Effektivitätsanzeige"

Erstellt von Grimmbizkit vor 5 Jahren Letzter Beitrag vor 4 Jahren 1.633 Views
G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 5 Jahren
Darstellung einer "Heatmap" oder "Effektivitätsanzeige"

Hallo,

ich hoffe meine Frage ist hier richtig.
Ich habe zu einem Motor alle 5 Minuten einen Mittelwert.
Dieses möchte ich nun Grafisch (mittels Farben) darstellen, ob die Auslastung gut ist oder nicht.

Meine Frage wäre wie man sowas am besten realisieren könnte (evtl hat jemand dazu schon Erfahrungen gesammelt) PictureBox, DataGridView oder noch anders. Oder gibt es sowas schon als fertigen Plugin.

Ich habe für den Zeitraum 06:00-22:00 und 31 Tagen im Monat dann sehr viele Elemente nötig, was die GUI nicht schneller werden lässt.

In Anhang ein Screenshot, wie es derzeit mittels Excel gelöst wird.

Hoffe jemand kann mir da einen Tipp geben.

Gruß Simon

C
2.121 Beiträge seit 2010
vor 5 Jahren

Auch wenn bestimmt jemand zu etwas fertigem rät, am flexibelsten bist du wenn du dir diese Ansicht selbst zeichnest.
Das heißt ein einziges Bild, in das alles so gezeichnet wird wie es gerade aussehen soll. Nicht zig oder gar hunderte verschiedene GUI Elemente aufs Formular packen.

4.931 Beiträge seit 2008
vor 5 Jahren

Ich würde dir auch zum Selberzeichnen raten. Erzeuge eine neue Klasse und leite diese vom Panel ab und überschreibe die OnPaint-Methode, s.a. [Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox).
Mit der Graphics-Klasse (Zugriff mittels e.Graphics) hast du alle Zeichenmöglichkeiten.

Evtl. kannst du auch unveränderliche Teile (Hintergrund, Raster o.ä) vorher in ein Bitmap (Image) zeichnen (das sog. Caching) und dann dafür nur e.graphics.DrawImage(bitmap, ...) aufrufen.

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 5 Jahren

Danke für die Antworten.

Leider ist das Thema für mich komplett neu mit dem "Zeichnen".

Ich würde mir quasi (mit Paint oder so) 5 farbige Felder vorbereiten.
Und dann in einer PictureBox diese entsprechend einfügen.
X0Y0 = Grün
X1Y0 = Grün
X2Y0 = Rot

Habe ich das schon soweit richtig verstanden?

5.657 Beiträge seit 2006
vor 5 Jahren

Lies dir doch erstmal den von Th69 verlinkten Artikel durch, dann sollte klar sein, wie das mit dem Zeichnen unter WinForms funktioniert.

Letztendlich mußt du ja nur Linien, Text und farbige Rechtecke zeichnen. Der einzige Aufwand besteht darin, die Positionen der Elemente im Bild zu berechnen, das das sollte meist mit einer einfachen Dreisatz-Berechnung lösbar sein.

Weeks of programming can save you hours of planning

H
1 Beiträge seit 2013
vor 4 Jahren

Mein Vorschlag wäre Live Charts
Fand das Nuget Paket sehr gut und die Beispiele verständlich.