El sur y este del municipio es una región montañosa de bosque sub-húmedo con temperaturas promedio de 12 °C y la zona norte costera y oeste es semiárida presenta un clima cálido de unos 27 °C.