+ Antworten
Ergebnis 1 bis 10 von 10
  1. #1
    Registriert seit
    Mar 2009
    Ort
    Berlin
    Beiträge
    791

    Standard aussentemperatur als Farbe darstellen.

    Hallo

    ich möchte den Temperaturverlauf eines Tages als Farbe darstellen, dies möchte ich mit den Farben blau > lila > rot darstellen, wenn ich die Farben aber über den Temperatur verlauf von -20 bis +40 verteile ist im 24h Verlauf kaum eine Farbänderung feststellbar.
    Kann man da etwas mit einen Logarithmus, Exponential oder Potenzfunktion machen?

    Schöne Grüße
    Thomas

  2. #2
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    ich würde eher überlegen, den oberen und unteren Grenzwert für den Farbverlauf dynamisch anzupassen. Die Temperatur-Spanne für den jeweiligen tag kann man sich ja aus dem Wetterforecast holen.
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  3. #3
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,596

    Zitat Zitat von ThomasD Beitrag anzeigen
    Kann man da etwas mit einen Logarithmus, Exponential oder Potenzfunktion machen?
    Schon, aber was bewirkt das? Rot würde dann nur in echten Extremfällen angezeigt. Noch weniger als jetzt. Das ist doch nicht was du willst. Das Gegenteil ist doch gewünscht.

    mach die Skala kleiner. Ist es denn wichtig ob -20 noch blauer ist als -5? Und ist es wichtig ob +40 noch roter als +30 ist?

    Ich würd sogar soweit gehen, dass ich Rot so dimensioniere, dass es auch wirklich manchmal angezeigt wird. An durchschnittlich warmen Tagen zum Beispiel (25°). Wenn man will kann man dann Richtung Orange und Gelb ja weiter machen oder man definiert halt alls wärmer als 25 ist eben Rot und noch roter gehts nicht. Reicht IMO völlig aus.


    Toni

  4. #4
    Registriert seit
    Aug 2010
    Beiträge
    674

    ich bin gerade dran, auch sowas zu machen. Mein Tool heisst "heatmap", und wird in der Molekularbiologie verwendet, um Microarray-Daten zusammenzufassen. Ich will es aber zweckentfremden, um die Werte mehrerer Temperatur-Sensoren darzustellen.

    Die Abfragen-Scripts habe ich schon geschrieben, aber es braucht noch etwas Anpassung. Wenn Du gerne mitarbeiten willst, schick mir ein PM.

  5. #5
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    Hi Thomas,

    mir fällt ein, dass ich vor Wochen mal mit einer Darstellungsform für meine Wetterdaten experimentiert habe. Ich bin mir noch nicht im Klaren, ob und wo ich das einsetze.
    Vielleicht inspiriert das, bei Bedarf kann ich Dir den Code zusenden.
    Das Scipt generiert eine HTML-Matrix (Stunde x Kalendertag), deren Temperatur in Farbwerte umgerechnet werden. Die Berechnung der Farbwerte richtet sich nach den temp-Max-und Min-Werten des betrachtungszeitraumes.
    Grundlage ist eine von Martins Schablonen
    Angehängte Grafiken Angehängte Grafiken  
    Geändert von Raketenschnecke (10.06.12 um 16:52 Uhr)
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  6. #6
    Registriert seit
    Mar 2006
    Beiträge
    3,421

    Zitat Zitat von Raketenschnecke Beitrag anzeigen
    Grundlage ist eine von Martins Schablonen
    Geniales Reziprok zum Nick
    Gruß nancilla

  7. #7
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,330

    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  8. #8
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    Hi Rainer,

    das kannte ich nicht, mir ging es aber zunächst um die Art der Darstellung, nicht um die Umrechnung von Temperatur nach Farbwert. das hab ich ja auch nur geklaut
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  9. #9
    Registriert seit
    Mar 2009
    Ort
    Berlin
    Beiträge
    791

    Zitat Zitat von RWN Beitrag anzeigen
    Hallo,

    ist ja auch noch ganz neu und aus meiner Frage am Anfang entstanden.
    Tages Grafik sieht nicht schlecht aus, jetzt hatte ich es mit einer Jahres Darstellung Probiert.

    Schöne Grüße
    Thomas
    Angehängte Grafiken Angehängte Grafiken  

  10. #10
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    Standard Temperatur in RGB umrechnen

    sorry für die Thread-Exhumierung,

    mir ist eben ein Einfall über den Weg gelaufen und hab glatt ne Temperatur -> RGB Farbwert-Funktion draus gemacht.

    NOCH EINE?!?

    ja, ich spiele gern . Weiterhin haben mir die Farbspektren der bereits im Forum vorgestellten Lösungen nicht gefallen. Gedacht habe ich die Funktion für eine HTML-Heatmap-Darstellung von Temperatur-Meßwerten. Allerdings hab ich noch keine Idee, wo ich das einsetzen kann

    Features:
    • Farb-Auflösung 0,1K
    • sehr großer Farbraum, dynamisch nach übergebener Tmin und Tmax
    • unterer Farbraum auf Magenta begrenzt, in der Funktion anpassbar
    • Rückgabewert ist ein HTML-fähiger RGB-String "rgb(255,255,255)


    Live-Beispiel (wird täglich aktualisiert):
    http://www.raketenschnecke.net/HighC..._365_24778.htm

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	RS.net Screenshot 001 2012-12-19.png 
Hits:	296 
Größe:	28.0 KB 
ID:	19573

    Funktion:
    PHP-Code:
    function getRGBColor($Tmax$Tmin$Tvalue)
    {
    /*
        Funktion rechnet Temperaturwerte in RGB-Farbwerte um. Übergabeparameter sind Maximal-Temperatur, Minimal-Temperatur und Temperaturwert,
        dessen Farbwert berechnet werden soll. Das Farbband reicht von Rot (max. Temperatur) bis Violett (min Temperatur). Der untere Temperaturbereich geht
        theoretisch auch bis Rot, ist aber auf Magenta begrenzt ($Blauanteil_min).

        Wertebereich Beispiel (ohne Farbbegrenzung für Tmin): Wertebereich 0-100°C, aufgeteilt in 6 Teilbereiche
            1. Teilbereich
               0- 16,6°C (R=255, G=0, B=130) - (R=255, G=0, B=255)
            2. Teilbereich
               16,7- 33,3°C (R=255, G=0, B=255) - (R=0, G=0, B=255)
            3. Teilbereich
               33,4- 50,0°C (R=0, G=0, B=255) - (R=0, G=255, B=255)
            4. Teilbereich
               50,1- 66,7°C (R=0, G=255, B=255) - (R=0, G=255, B=0)
            5. Teilbereich
               66,7- 83,3°C (R=0, G=255, B=0) - (R=255, G=255, B=0)
            6. Teilbereich
               83,3- 100,0°C (R=255, G=255, B=0) - (R=255, G=0, B=0)
    */
         
         
        // Deklarationen
        
    $Tvalue                 round($Tvalue1);
        
    $TOffset               $Tmin * -1;
        
    $Blauanteil_min     190;               // Farbgrenze für Temperatur-Min, Blauanteil 190 => Magenta
        
    $Tmax                $Tmax $TOffset;
        
    $Tvalue              $Tvalue $TOffset;
        
    $Tmin                $Tmin $TOffset;
        
    $teiler              = ($Tmax $Tmin)/6;
        
    $BOffset               = ($Blauanteil_min/255)*100;
        
    $TeilerOffset        = (($teiler*$BOffset)/100)/6;


        
    // Teilbereiche / Farbwert berechnen
        
    if($Tvalue <= ($teiler - ($TeilerOffset*6)))
        {
           
    // 1. Teilbereich, B berechnen
           
    $Tvalue      $Tvalue - ($TeilerOffset*6);
           
    $B       round(($Tvalue*($Blauanteil_min-255))/$teiler0) + $Blauanteil_min;
           return 
    'rgb(255,0,'.$B.')';
        }
        elseif((
    $Tvalue > ($teiler - ($TeilerOffset*6))) && ($Tvalue <= (($teiler*2) - ($TeilerOffset*5))))
        {
           
    // 2. Teilbereich, R berechnen
           
    $Tvalue      $Tvalue - ($teiler - ($TeilerOffset*6));
           
    $R           255 round(($Tvalue*255)/$teiler0);
           return 
    'rgb('.$R.',0,255)';
        }
        elseif((
    $Tvalue > ($teiler*- ($TeilerOffset*5))) && ($Tvalue <= ($teiler*- ($TeilerOffset*4))))
        {
          
    // 3. Teilbereich, G berechnen
          
    $Tvalue      $Tvalue - ($teiler*- ($TeilerOffset*5));
          
    $G       round(($Tvalue*255)/$teiler0);
          return 
    'rgb(0,'.$G.',255)';
        }
        elseif((
    $Tvalue > ($teiler*- ($TeilerOffset*4))) && ($Tvalue <= ($teiler*- ($TeilerOffset*3))))
        {
           
    // 4. Teilbereich, B berechnen
           
    $Tvalue      $Tvalue - ($teiler*- ($TeilerOffset*4));
           
    $B           255 round(($Tvalue*255)/$teiler0);
           return 
    'rgb(0,255,'.$B.')';
        }
        elseif((
    $Tvalue > ($teiler*- ($TeilerOffset*3))) && ($Tvalue <= ($teiler*- ($TeilerOffset*2))))
        {
          
    // 5. Teilbereich, R berechnen
          
    $Tvalue      $Tvalue - ($teiler*- ($TeilerOffset*3));
          
    $R           round(($Tvalue*255)/$teiler0);
          return 
    'rgb('.$R.',255,0)';
        }
        elseif((
    $Tvalue > ($teiler*- ($TeilerOffset*2))) && ($Tvalue <= $teiler*6))
        {
           
    // 6. Teilbereich, G berechnen
           
    $Tvalue      $Tvalue - ($teiler*- ($TeilerOffset*2));
           
    $G       255 round(($Tvalue*255)/$teiler0);
           return 
    'rgb(255,'.$G.',0)';
        }
        return 
    false;

    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

Ähnliche Themen

  1. Chromoflex RC, FTDI
    Von huelke im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 266
    Letzter Beitrag: 05.07.14, 21:04
  2. Farbe in Profilzuweisung ändern zur Laufzeit?
    Von AEAlexander im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 3
    Letzter Beitrag: 29.02.12, 11:08
  3. kameras mit axis 241Q videoserver im webfront darstellen
    Von ipsnewbie im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 0
    Letzter Beitrag: 29.12.11, 10:23
  4. PBX Mails auslesen und als Stringvariable darstellen
    Von hofimax im Forum Skripte, PHP, SQL
    Antworten: 3
    Letzter Beitrag: 17.11.11, 12:25
  5. Ausführbare Datei (1 Windwosfenster) in einem webbrowser darstellen?
    Von Hinti im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 0
    Letzter Beitrag: 16.12.09, 20:52