I realised that I made mistakes yesterday on this part while looping through the array, my solution was literally manual. This should be the appropriate answer. Please check for Syntax errors.
void draw(){
image(SpainMap, 0, 0);
// Bucle to generate circles
for (int i=0; i<cities.length; i++){
for (j = 0; j < cities[i].length; j++){
//Variable to modify the size of the circle
float circle_D = map (cities [i] [j], 59000, 3300000, 5,60);
//Conditional estructure
if (cities [i] [j]< 200000) { //Cities < 200.000 population
fill (blau); //
circle (cities [i][j], cities [i][j], circle_D);
} else if (cities[i][j]> 200000 && cities[i][j]< 400000) {
//Cities > 200.000 and < 400.000 population
fill (verd);
circle (cities [i][j], cities [i][j], circle_D);
} else if (cities [i] [j]> 400000) { //Cities > 400.000 population
fill (vermell);
circle (cities [i][j], cities [i][j], circle_D);
}
}
}