English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Tutorial detallado de formateo de ejes en Matplotlib
A veces, un o varios puntos son mucho más grandes que una gran cantidad de datos. En este caso, la proporción del eje debe establecerse en logarítmica (log) en lugar de en proporción normal. Esto es una escala logarítmica. En Matplotlib, se puede establecer el atributo xscale o vscale del objeto axes en log.
A veces, es necesario mostrar una distancia adicional entre el número del eje y la etiqueta del eje. La propiedad labelpad de cualquier eje (x o y o ambos) se puede establecer en el valor necesario.
A continuación, se ilustra la función de los dos anteriores con la ayuda de los siguientes ejemplos. La subfigura de la derecha tiene una escala logarítmica, y la subfigura de la izquierda tiene una etiqueta del eje x con una distancia más grande.
Referencia del siguiente código de ejemplo:
# Nombre de archivo: example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt import numpy as np import math # mostrar configuración de chino... plt.rcParams['font.sans-serif'] = ['SimHei'] # paso uno (reemplazar sans-fuente serif) plt.rcParams['axes.unicode_minus'] = False # paso dos (solución al problema de visualización de números negativos en el eje de coordenadas) fig, axes = plt.subplots(1, 2, figsize=(10,4)) x = np.arange(1,5) axes[0].plot(x, np.exp(x)) axes[0].plot(x, x**2) axes[0].set_title("Escala normal") axes[1].plot(x, np.exp(x)) axes[1].plot(x, x**2) axes[1].set_yscale("log") axes[1].set_title("Escala logarítmica (y)") axes[0].set_xlabel("eje x") axes[0].set_ylabel("eje y") axes[0].xaxis.labelpad = 10 axes[1].set_xlabel("eje x") axes[1].set_ylabel("eje y") plt.show()
Ejecutar el código de ejemplo anterior, obtener el siguiente resultado -
El extremo del eje es la línea que conecta con la línea de escala del eje, que delimita el área de dibujo. El extremo del objeto del eje está en la parte superior, inferior, izquierda y derecha. Cada extremo se puede formatear mediante el color y el ancho especificados. Si se establece el color de cualquier borde en 'sin color', se puede hacer invisible.
Referencia del código de ejemplo:
# Nombre de archivo: example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt import numpy as np import math # mostrar configuración de chino... plt.rcParams['font.sans-serif'] = ['SimHei'] # paso uno (reemplazar sans-fuente serif) plt.rcParams['axes.unicode_minus'] = False # paso dos (solución al problema de visualización de números negativos en el eje de coordenadas) fig = plt.figure() ax=plt.subplot(111) ax.spines['bottom'].set_color('blue') ax.spines['left'].set_color('red') ax.spines['left'].set_linewidth(2) ax.spines['right'].set_color(None) ax.spines['top'].set_color(None) ax.plot([1,2,3,4,5) # plt.show()