python - pyplot - plot title font size matplotlib
formato de etiqueta del eje matplotlib (2)
Hay muchas maneras de hacer esto
Podrías ajustar los límites de potencia (doc)
ax1.xaxis.get_major_formatter().set_powerlimits((0, 1))
que establece los poderes donde ScalerFormatter
cambia a notación científica
O bien, podría usar un FuncFormatter
que le da una buena cantidad de control (pero puede volar el pie).
from matplotlib import ticker
scale_pow = 2
def my_formatter_fun(x, p):
return "%.2f" % (x * (10 ** scale_pow))
ax1.get_xaxis().set_major_formatter(ticker.FuncFormatter(my_formatter_fun))
ax1.set_xlabel(''my label '' + ''$10^{{{0:d}}}$''.format(scale_pow))
FuncFormatter
(doc) toma una función de 2 argumentos que devuelve una cadena y usa esa función para formatear la etiqueta. (Tenga en cuenta que esto también cambiará la forma en que se muestran los valores en la esquina de las figuras interactivas). El segundo argumento es para "posición", que es un argumento entregado cuando el formateador crea las etiquetas. Puede ignorarlo con seguridad, pero debe tomarlo (de lo contrario, obtendrá errores a partir de una cantidad incorrecta de argumentos). Esto es una consecuencia de la API unificada de todos los formateadores y el uso del formateador para mostrar la ubicación del mouse en interactivo.
Tengo un problema con el formato de las etiquetas de tic de un eje. Inhabilité el desplazamiento desde y_axis:
ax1.ticklabel_format(style = ''sci'', useOffset=False)
e intenté ponerle un formato científico pero todo lo que obtengo es:
0.00355872
pero esperaba algo así como:
3.55872...E-2
o similar.
lo que realmente quiero es algo así como:
3.55872... (on the tick label)
x 10^2 (or something similar - on the axis label)
Podría tratar de establecer las etiquetas como estáticas, pero al final tendré algunas decenas o cientos de gráficos con valores diferentes, por lo que debe establecerse dinámicamente.
Una alternativa sería colocar la compensación de y_axis como la etiqueta, pero tampoco tengo idea de cómo hacer esto.
También debe especificar los límites del eje y del umbral:
ax1.ticklabel_format(axis=''y'', style=''sci'', scilimits=(-2,2))
Esto usaría el formato sci en el eje y cuando las figuras están fuera de los límites [0.01, 99]
.