While testing the flight stability of my drone, I noticed that it is constantly circling around the current position point.
Also, you can see in the graph that the estimated XY value deviates from the setpoint value sinusoidally.
It seems like you are using a higher PID gain than the default for the multirotors. Have you already gone through the Multirotor tuning guide? Following that process should remove those circling behaviors:
I also suspected it could be the “toilet bowling” effect which can happen with badly calibrated magnetometer, but the sensor data itself seemed pretty sane.