Los point plots son otra alternativa a las gráficas de barras (también muestran por defecto el valor medio junto a un intervalo de confianza del 95%), pero en lugar de mostrar barras, simplemente muestra puntos a la altura adecuada y los une con una línea, reforzando el mensaje que hay detrás de la variación de un valor al siguiente. Se consiguen con la función a nivel de figura seaborn.catplot con kind = "point", o con la función a nivel de ejes seaborn.pointplot.
Por ejemplo, si deseamos mostrar la variación a lo largo de los días del valor medio de las propinas, podríamos conseguirlo con esta función:
sns.catplot(x = "day", y = "tip", data = tips, kind = "point");
Si hacemos referencia a una nueva variable con el parámetro hue, se crean tantos conjuntos de puntos (y líneas uniéndolos) como valores tome dicha variable. En el ejemplo anterior podemos separar la línea en dos, una para cada sexo, con hue = "sex":
sns.catplot(x = "day", y = "tip", data = tips, kind = "point", hue = "sex");
Si, como en el caso anterior, las líneas verticales correspondientes al intervalo de confianza se solapan, es posible mostrar los topes de dichas líneas con el parámetro capsize:
sns.catplot(x = "day", y = "tip", data = tips, kind = "point", hue = "sex", capsize = 0.1);
Este recurso facilita la interpretación de la longitud de las líneas en cuestión a costa de aumentar ligeramente la complejidad de la gráfica.
Como se ha comentado, por defecto se muestra el valor medio de los valores correspondientes. Esta función puede ser controlada usando el parámetro estimator. Y, también aquí, el parámetro ci controla el tamaño del intervalo de confianza.
Si deseamos contar el número de valores, podemos utilizar la función len:
sns.catplot(x = "day", y = "tip", data = tips, kind = "point", hue = "sex", estimator = len);
Esta gráfica acepta parámetros como markers o linestyles, para definir los símbolos a mostrar en los puntos para los que hay datos y los estilos de las líneas, respectivamente:
sns.catplot(x = "day", y = "tip", data = tips, kind = "point", hue = "sex", ci = False,
markers = ["*", "+"], linestyles = ["-", "-."]);
Las listas de marcadores y estilos de líneas pueden ser más largas de lo necesario (en el caso de que no se conozca de antemano el número de líneas a las que se va a aplicar esta configuración).