this is the code i used with my arduino to create a map and it shows data properly on the map.
float x = 0.5;
float y = 0.4;
float z = 0.2;
char buffer1[50];
buffer[0] = '[';
size_t offset = 1;
dtostrf(x, 1, 3, &buffer[offset]);
offset += strlen(&buffer[offset]);
buffer[offset++] = ',';
dtostrf(y, 1, 3, &buffer[offset]);
offset += strlen(&buffer[offset]);
buffer[offset++] = ',';
dtostrf(z, 1, 3, &buffer[offset]);
offset += strlen(&buffer[offset]);
buffer[offset++] = ']';
buffer[offset] = 0;
Serial.println(buffer);
Cayenne.virtualWrite(20, buffer, "gps", "m");