Need help tuning altitude

I recently flew a few autonomous missions with my hex (APM 2.6) and Droidplanner. The missions went great but the hex is flying low. I set the altitude to 5 meters and it looks like it was flying at about 2 meters high. Here is a graph of the sonar and barometer from the flight log. It looks like the sonar was accurate but the barometer is off? Sonar sensor is a MaxBotix 1240 (EZ4) with a cap/resistor power filter.

How do I get the barometer to read the correct altitude?

Does the sonar signal look OK? (Is the signal too noisy or is that what I should expect from the sonar)?

Thanks,
Greg

The barometer reads absolute altitude above sea level. The sonar reads height above ground.

The barometer drifts from atmospheric effects and from air velocity effects (your copter will drop several meters while flying fast)

Thanks. I just realized the sea level thing when talking it over with a friend today. Duh!