(idiomatic) To reveal how one really is, as opposed to how one has been portrayed or after having been deceptively and deliberately misleading.
Origin of show-one-s-true-colors
Nautical origin. The word 'colors' ('colours') refers to the flag or ensign which every ship is obliged to fly at sea. It was once a common deception of pirates to 'sail under false colours' and fly a friendly flag in order to get within close range of potential targets (other ships) without exciting suspicion. Only when the pirate ship reached close quarters would it unfurl its 'true colours'.