Visualización de gráficos de dispersión con puntos superpuestos en matplotlib

Tengo que representar unos 30,000 puntos en un diagrama de dispersión en matplotlib. Estos puntos pertenecen a dos clases diferentes, por lo que quiero describirlos con diferentes colores.

Lo logré, pero hay un problema. Los puntos se superponen en muchas regiones y la clase que represento para el final se visualizará encima de la otra, ocultándola. Además, con el diagrama de dispersión no es posible mostrar cuántos puntos se encuentran en cada región. También he intentado hacer un histograma 2d con histogram2d e imshow, pero es difícil mostrar los puntos que pertenecen a ambas clases de forma clara.

¿Puede sugerir una manera de aclarar tanto la distribución de las clases como la concentración de los puntos?

EDITAR: Para ser más claros, esta es laenlazar a mi archivo de datos en el formato "x, y, clase"

Respuestas a la pregunta(2)

Su respuesta a la pregunta