Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Graficas en Python
Graficas en Python
Python
Clase 4:
Matplotlib – Gráficas en Python
Diego Passarella Víctor Viana
¿Qué es matplotlib?
●
Es la librería de visualización más popular de Python
●
El conocimiento de esta librería sigue siendo fundamental en
cualquier proyecto de Data Science.
●
Matplotlib y sus dependencias están disponibles como
paquetes para las distribuciones de MacOS, Windows y Linux:
python -m pip install -U pip
python -m pip install -U matplotlib
Nomenclatura
Nomenclatura - figure
Nomenclatura - axes
Nomenclatura - plot
La función plot
La función subplots
Crea una figura y uno o más conjuntos de ejes
(por defecto se crea uno solo)
Las funciones figure y axes
●
figure crea de forma explícita una figura
●
axes crea de forma explícita un conjunto de ejes en la última
figura que se haya creado o referenciado
Interfaces de programación
Interfaz orientada a
objetos (OO)
La función plot
La función plot recibe un
conjunto de valores x e y,
y los muestra en el plano
definido por los ejes
como puntos unidos por
líneas
La función plot
Si no se indica el argumento
x, se asigna un conjunto de
valores por defecto formado
por números enteros desde
0 hasta n-1, siendo n el
número de puntos a mostrar
(es decir, la longitud de y)
La función plot
Si ejecutamos dos o
más veces la
función plot antes
de ejecutar la
función show, todas
las gráficas se
mostrarán en el
mismo conjunto de
ejes:
La función plot
El conjunto de ejes y la figura dentro
de la cual se muestran son creados
automáticamente con la primera
ejecución de plot, y se mantendrá
dicha figura activa hasta que se
muestren las gráficas con la función
show. Si, posteriormente, volvemos a
ejecutar la función plot, se creará
una nueva figura y un nuevo
conjunto de ejes.
Estilo y ancho de línea
linestyle: permite
especificar el estilo de
línea.
Estilo y ancho de línea
Estilo y ancho de línea
Linewidth: nos
permite controlar el
ancho de las líneas
generadas
Marcadores y colores
Es posible mostrar encima
de cada uno de esos puntos
un símbolo (un marcador)
con el parámetro marker
Marcadores y colores
Marcadores y colores - markersize
Marcadores y colores - color
Marcadores y colores - color
Etiquetas
Parámetro label asigna a una
gráfica una etiqueta que será
mostrada en la leyenda (si
activamos ésta)
Tamaño y color de fondo
figsize: que nos permite
especificar el tamaño de la
figura en pulgadas,
indicando en primer lugar
el ancho y, a continuación,
el alto.
Tamaño y color de fondo
facecolor controla el
color del fondo de la
figura.
Borde
Título
La función subplots
La función axes
La función add_subplot
https://matplotlib.org/tutorials/introduc
tory/usage.html#parts-of-a-figure
Grid
Grid
Mapas de color
●
matplotlib ofrece un conjunto de mapas de color predefinidos.
●
Éstos son diccionarios de colores que "mapean" los valores
representados en nuestras gráficas a otros conjunto de colores.
●
La idea detrás de los mapas de colores es encontrar una buena
representación en espacios tridimensionales, colores capaces de
transmitir la sensación de profundidad que los colores lisos no
transmiten correctamente.
●
La elección correcta de un mapa de color puede cambiar
radicalmente la forma en la que percibimos una gráfica
https://matplotlib.org/tutorials/colors/colormaps.html
Gráficos en 2D
Lineas
Gráficos en 2D
Dispersión
Gráficos en 2D
Historgramas
Gráficos en 2D
Historgramas con
etiquetas
●
Tras crear el histograma y
recoger el resultado en las
variables v, m y g, recorremos
con un for cada uno de los
rectángulos referenciados en g.
●
Para cada uno de ellos
extraemos su posición x y su
altura utilizando los métodos
get_x y get_height.
●
Por último, mostramos el valor
del bin (contenido en v[i]) en la
posición (posx, posy)
plt.hist2d(x, y, bins = (25, 20));
Gráficos en 2D plt.colorbar();
Histogramas de dos
variables
●
Es posible modificar el número
de áreas en las que dividir el
plano utilizando el parámetro
bins.
●
Si éste es un número, se
dividirá tanto el eje x como el
eje y en tantos bloque como
indique.
Gráficos en 2D Circulares
Gráficos en 2D Circulares
●
La distancia de las etiquetas al
centro del gráfico se controla
mediante el parámetro
labeldistance
●
Es posible separar uno o varios de
los sectores con el parámetro
explode
●
Podemos mostrar los porcentajes
representados por cada sector
utilizando el parámetro autopct
●
El parámetro pctdistance controla
la distancia del número mostrado al
centro del gráfico
Gráficos en 2D Barras
Gráficos en 2D Barras
Gráficos en 2D - Barras de Error
x = np.linspace(0, 5, 100)
y = np.linspace(0, 5, 100)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
Gráficos en 2D – Curvas de nivel
x = np.linspace(0, 5, 100)
y = np.linspace(0, 5, 100)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
Gráficos en 2D – Curvas de nivel
Gráficos en 3D
Para habilitar la creación
de este tipo de gráficos
basta importar el objeto
Axes3D de la sublibrería
mpl_toolkits.mplot3d, y
generar un conjunto de
ejes con el método gca
asociado a la figura
indicando que la
proyección es de tipo "3d"
Gráficos 3D - Superficies
La generación de "wireframes" o
gráficos de mallas es
extremadamente simple una vez que
sabemos generar una superficie. El
método es plot_wireframe y recibe
como primeros tres argumentos las
matrices X, Y y Z que hemos visto
para la función plot_surface.
Gráficos 3D - Curvas de nivel