LSM303AGR accelerometer disappointing accuracy

I configured LSM303AGR accelerometerit for high accuracy mode 50Hz and I am reading it at 20 Hz via i2c.
The xyz signals are very unstable, and the final angle calculated (see figure) has huge variations. 2 degrees is far from what my expectations for a component described as "high accuracy 12 bit". What am I doing wrong?
Here is my code
void configure_inclinometer(){
Wire.beginTransmission(0x19); // Set accel
Wire.write(0x20); // CTRL_REG1_A register
Wire.write(0x47); // 50 Hz, normal power, all 3 axis enabled. 0x47 0b0100 0111
Wire.endTransmission();
Wire.beginTransmission(0x19); // Set accel
Wire.write(0x23); // CTRL_REG4_A register
Wire.write(0x08); // continuous update, littleendian, 2g, high resolution, 4-wire spi //0x08 0b0000 1000
Wire.endTransmission();
}
