Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
clase:iabd:pia:1eval:tema04 [2022/12/21 16:50] admin [Dibujando en 3D] |
clase:iabd:pia:1eval:tema04 [2023/11/04 12:42] admin [Figura] |
||
---|---|---|---|
Línea 195: | Línea 195: | ||
===== Figura ===== | ===== Figura ===== | ||
Acabamos de ver como colocar cada gráfica dentro de la figura. Ahora veremos unas cosas mas sobre ella. | Acabamos de ver como colocar cada gráfica dentro de la figura. Ahora veremos unas cosas mas sobre ella. | ||
+ | |||
* Para hacer la figura mas grande solo hay que indicar el tamaño con el argumento '' | * Para hacer la figura mas grande solo hay que indicar el tamaño con el argumento '' | ||
Línea 223: | Línea 224: | ||
+ | ==== Subfiguras ==== | ||
+ | Además de '' | ||
+ | Para ello se usa el método '' | ||
- | ===== Proyecciones | + | <sxh python> |
+ | subfigure_a, | ||
+ | </ | ||
+ | |||
+ | Veamos un ejemplo: | ||
+ | |||
+ | <sxh python> | ||
+ | import matplotlib.pyplot as plt | ||
+ | |||
+ | figure=plt.figure(figsize=(8, 6),layout=' | ||
+ | figure.suptitle(" | ||
+ | |||
+ | subfigure_a, | ||
+ | |||
+ | subfigure_a.suptitle(" | ||
+ | axes_1 = subfigure_a.add_subplot(1, | ||
+ | axes_1.set_title(" | ||
+ | axes_2 = subfigure_a.add_subplot(1, | ||
+ | axes_2.set_title(" | ||
+ | |||
+ | subfigure_b.suptitle(" | ||
+ | axes_3 = subfigure_b.add_subplot(1, | ||
+ | axes_3.set_title(" | ||
+ | axes_4 = subfigure_b.add_subplot(1, | ||
+ | axes_4.set_title(" | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== Proyecciones | ||
Indicar como es la proyección de los ejes. | Indicar como es la proyección de los ejes. | ||
Línea 251: | Línea 285: | ||
{{: | {{: | ||
+ | |||
+ | ==== Clase Figura ==== | ||
+ | La sigiente clase permite simplificar la creación de '' | ||
+ | <sxh python> | ||
+ | class Figura: | ||
+ | def __init__(self, | ||
+ | self.ncols=ncols | ||
+ | self.num_axes=naxes | ||
+ | self.nrows=math.ceil(naxes/ | ||
+ | if height_axes==None: | ||
+ | height_axes=axes_width*0.86 | ||
+ | |||
+ | self.figure, | ||
+ | layout=" | ||
+ | |||
+ | if isinstance(self.arr_axes, | ||
+ | self.arr_axes=np.array([[self.arr_axes]]) | ||
+ | |||
+ | for axes in np.array(self.arr_axes).reshape(-1): | ||
+ | self._visible_axes(axes, | ||
+ | |||
+ | def get_figure(self): | ||
+ | return self.figure | ||
+ | |||
+ | def get_axes(self, | ||
+ | col=index % self.ncols | ||
+ | row=math.ceil((index+1)/ | ||
+ | axes=self.arr_axes[row, | ||
+ | self._visible_axes(axes, | ||
+ | return axes | ||
+ | |||
+ | def _visible_axes(self, | ||
+ | axes.get_xaxis().set_visible(visible) | ||
+ | axes.get_yaxis().set_visible(visible) | ||
+ | axes.spines[' | ||
+ | axes.spines[' | ||
+ | axes.spines[' | ||
+ | axes.spines[' | ||
+ | </ | ||
+ | |||
+ | |||
+ | El uso de la clase es la siguiente. | ||
+ | |||
+ | Imagina que quieres mostrar 10 '' | ||
+ | |||
+ | <sxh python> | ||
+ | figura=Figura(3, | ||
+ | |||
+ | for index in range(0, | ||
+ | axes=figura.get_axes(index) | ||
+ | </ | ||
+ | |||
+ | |||
+ | La venta de esta clase es que no te tienes que preocupar del número de filas que va a haber. | ||
===== Dibujando en 2D ===== | ===== Dibujando en 2D ===== | ||
Ahora veamos una serie de métodos para dibujar en un '' | Ahora veamos una serie de métodos para dibujar en un '' | ||
Línea 1358: | Línea 1446: | ||
<sxh python> | <sxh python> | ||
+ | import numpy as np | ||
+ | import pandas as pd | ||
import seaborn as sns | import seaborn as sns | ||
+ | from sklearn.datasets import load_iris | ||
+ | |||
+ | iris=load_iris() | ||
+ | |||
+ | #Obtener los datos | ||
+ | data=iris.data | ||
+ | target=iris.target | ||
+ | |||
+ | feature_names=[' | ||
+ | target_names=[' | ||
+ | target_unique=[0, | ||
+ | |||
+ | #Crear el DataFrame con los datos | ||
+ | df=pd.DataFrame(data, | ||
+ | df[' | ||
+ | df[' | ||
- | iris =sns.load_dataset(" | ||
- | sns.pairplot(iris,hue="species") | + | #Crear el gráfico |
+ | sns.pairplot(df,hue="flores") | ||
</ | </ | ||