importmatplotlib.pyplotasplt# Set default figure sizeplt.rcParams['figure.figsize']=(10,6)# Set default DPIplt.rcParams['figure.dpi']=100# Set default font sizeplt.rcParams['font.size']=12# Set default line widthplt.rcParams['lines.linewidth']=2# Set default colormapplt.rcParams['image.cmap']='viridis'# Use LaTeX for text renderingplt.rcParams['text.usetex']=True# Set backendplt.rcParams['backend']='TkAgg'
# Use built-in styleplt.style.use('seaborn-v0_8')plt.style.use('ggplot')plt.style.use('dark_background')# List available stylesprint(plt.style.available)# Use multiple styles (later ones override earlier)plt.style.use(['seaborn-v0_8','seaborn-v0_8-poster'])# Temporary style contextwithplt.style.context('dark_background'):plt.plot(x,y)
importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspd# Generate time series datadates=pd.date_range('2023-01-01',periods=100)temperature=20+10*np.sin(np.linspace(0,4*np.pi,100))+np.random.randn(100)humidity=60+20*np.cos(np.linspace(0,4*np.pi,100))+np.random.randn(100)*5# Create figure with primary axisfig,ax1=plt.subplots(figsize=(12,6))# Plot temperature on primary y-axiscolor='tab:red'ax1.set_xlabel('Date')ax1.set_ylabel('Temperature (°C)',color=color)ax1.plot(dates,temperature,color=color,linewidth=2,label='Temperature')ax1.tick_params(axis='y',labelcolor=color)# Create secondary y-axisax2=ax1.twinx()color='tab:blue'ax2.set_ylabel('Humidity (%)',color=color)ax2.plot(dates,humidity,color=color,linewidth=2,linestyle='--',label='Humidity')ax2.tick_params(axis='y',labelcolor=color)# Add title and gridplt.title('Temperature and Humidity Over Time')ax1.grid(True,alpha=0.3)# Format x-axis datesfig.autofmt_xdate()plt.tight_layout()plt.savefig('dual_axis_timeseries.png',dpi=300)plt.show()
Caso 5: Visualización estadística con barras de error¶
importmatplotlib.pyplotaspltimportnumpyasnp# Generate data with errorx=np.arange(0,10,1)y=2*x+5error=np.random.uniform(0.5,2.0,len(x))# Create error bar plotfig,ax=plt.subplots(figsize=(10,6))ax.errorbar(x,y,yerr=error,fmt='o-',capsize=5,capthick=2,ecolor='red',linewidth=2,markersize=8,label='Measured Data')# Add fitted linez=np.polyfit(x,y,1)p=np.poly1d(z)ax.plot(x,p(x),'g--',linewidth=2,label='Fitted Line')# Customizeax.set_xlabel('X Variable',fontsize=12)ax.set_ylabel('Y Variable',fontsize=12)ax.set_title('Measurements with Error Bars',fontsize=14)ax.legend()ax.grid(True,alpha=0.3)plt.tight_layout()plt.savefig('error_bars.png',dpi=300)plt.show()
Usa la interfaz orientada a objetos: Para tramas complejas, utilice __INLINE_CODE_99_ en lugar de la máquina del estado de pyplot para un mejor control y claridad
Cerrar Figuras: Llamar plt.close() después de guardar parcelas en scripts para memoria libre, especialmente cuando generan muchas parcelas
Set Figure Size Early: Define figsize_ al crear figuras para asegurar el diseño adecuado antes de añadir elementos
Use Formatos Vectorizados: Guardar las cifras de publicación como PDF o SVG (plt.savefig('plot.pdf')) para escalabilidad y calidad
** Hojas de estilo de aprendizaje**: Use plt.style.use() para un estilo consistente a través de múltiples parcelas en lugar de establecer parámetros individualmente
Etiqueta Todo: Siempre incluye etiquetas de eje, títulos y leyendas para hacer diagramas autoexplicativas
Use Tight Layout: Call plt.tight_layout() o bbox_inches='tight'_ al guardar para evitar el corte de etiquetas
Elija Colormaps apropiados: Usar los colores perceptualmente uniformes como 'viridis', 'plasma' o 'cividis' para datos científicos
Optimize DPI: Use dpi=300_ para la calidad de impresión, dpi=100 para la pantalla para equilibrar la calidad y el tamaño de archivo
Procesamiento de lotes: Al crear múltiples parcelas, envolver en funciones y utilizar administradores de contexto para asegurar una limpieza adecuada de recursos