Convert string of variable length to floats.

That is exactly why I say that you are NOT listening. That code does NOT properly read data from the card.

  char buf[7];

This creates an array that can hold 7 characters.

while ((n = file.read(buf, sizeof(buf))) > 0)

This gets 7 characters from the file, and puts them in the array. There is now no room for a terminating NULL.

temperatura = atof(buf);

This function expects a NULL terminated array of chars, which is NOT what you are passing it.

If you start at the top of this thread, I've told you this before. I've told you that you need to fix it.

Now, I'll try one more time, telling you HOW.
while ((n = file.read(buf, sizeof(buf)-1)) > 0) // Read SIX characters from the file
buf[6] = '\0'; // Append a NULL.

Now, the call to atof will behave as expected, and you can define grafico, based on the output of atof().

I want it to be drawn.
myGLCD.drawPixel(40,66);
myGLCD.drawPixel(41,64);
myGLCD.drawPixel(42,64);
myGLCD.drawPixel(43,64);
myGLCD.drawPixel(44,75);

Where does the first value come from?