According to a pundit, asked this very question on American TV at election time in the US, the switch [described in a link above] from red to blue for Democrats was prompted by their party chiefs, who persuaded the press and TV to make it. In a country where Republicans use 'liberal' as a criticism and 'socialist ' as an insult, the Democrats thought that red was too closely associated with socialism..Democrats are to the left of the Republicans, as it is. Having the public think of 'red' and 'Democrat' together was not good for the Party. The Republicans, of course, would never be thought to be even remotely socialist and were not worried by being 'red'. Anyway, 'red for Republican' is easy to remember!