This was because of the deliberate propaganda of Octavian (later Augustus) against her. It's because he really wanted to attack Mark Antony, but Antony was well beloved by Rome, so instead of attacking Antony directly Octavian attacked Cleopatra who was a foreigner, in the hope that in smearing her enough, he would taint Antony's reputation (which he succeeded in).