Una alternativa al gráfico de dispersión es el gráfico de dispersión hexagonal, en el que el plano se divide en hexágonos y se muestra con distintos colores el número de valores o puntos en cada hexágono:
tips = sns.load_dataset("tips")
sns.jointplot(x = "total_bill", y = "tip", data = tips, kind = "hex");
Vemos que el único cambio con repecto a la función equivalente que genera el gráfico de dispersión es la inclusión del argumento kind = "hex".
Para controlar el número de hexágonos a mostrar tenemos que hacer uso del parámetro joint_kws. Este parámetro es un diccionario que nos permite pasar a la función parámetros adicionales, como gridsize, parámetro que controla exactamente el número de hexágonos:
sns.jointplot(x = "total_bill", y = "tip", data = tips, kind = "hex", joint_kws = {"gridsize":10});