Besoin de vos lumières... bargraphe dynamique

Bonsoir à tous,
En trois mot, afficher la temperature sous forme d'un bargraphe mais la MAJ de l'information d'affichage ne se fait pas correctement.
J'ai voulu faire simple, l'affichage de la temperature via une visualisation graphique qui se met à jour dynamiquement en fonction de la temperature mesurée où si la temperature mesurée est inférieure à la précédente, je supprime simplement les pixels supplémentaires (je les remplace par la couleur de fond). Mais voilà, ça marche pô ! Ca me laisse des parasites comme ça

normalement tout ce qui est au dessus de la première barre noire devrait avoir disparu.
J'ai retourné le truc dans tous les sens mais là je sèche. La partie de code qui aurait du me faire ce que je souhaite :

void TemperatureLM35() {
    mesure = analogRead(LM352);
    Temperature = mesure*0.48875855;
      if (TempOld>Temperature){
        int Diff=TempOld-Temperature;
        tft.fillRect(31,119-(TempOld*2),18,Diff*2,Black);
      }
    tft.setCursor(340,90); tft.setTextSize(2); tft.print(Temperature,2);
//Histogramme
    tft.fillRect(31,119-(Temperature*2),18,Temperature*2,Red);
    TempOld=Temperature;
}

Si vous avez, et c'est certain, une meilleure idée ben je suis donc preneur surtout que je suis persuadé que ça ne doit pas être bien compliqué :wink:
Merci d'avance et bonne soirée

l'écran a des coordonnées entières et les maths que vous faites sont en flottant. vous devez sans doute être victime d'arrondis dans la partie affichage.

--> vous avez combien de pixels en vertical pour vos 50° de l'échelle? (ça ne va pas sous 0°?)

Et caster la valeur float en int juste pour l'affichage ?

tft.fillRect(31,119-((int)Temperature*2),18,(int)Temperature*2,Red);

J'ai trouvé, petite erreur dans la ligne tft.fill Rect du if. Il fallait mettre tout simplement

tft.fillRect(31,119-(TempOld*2),18,(TempOld+Diff)*2,Black);

Et là ça marche !
Merci en tout cas et bonne soirée

Presque... en fait je redessinais le graph ce qui générait des sauts à l'affichage donc pas tout à fait ce que je cherchais puisque je voulais enlever les pixels supplémentaires.
La bonne ligne c'est :

tft.fillRect(31,119-(TempOld*2),18,((Diff+1)*2),Black);

Et là j'ai bien ma barregraphe de stable sur laquelle ne disparaissent que les pixels en exédent de TempOld par rapport à Temperature.

Bonne soirée