Creé esta trama usando Matlab
Usando matplotlib, el eje x dibuja números grandes como 100000, 200000, 300000. Me gustaría tener algo como 1, 2, 3 y 10 ^ 5 para indicar que en realidad es 100000, 200000, 300000.
¿Existe una forma sencilla de crear tal escala en matplotlib?
python
matplotlib
Águila
fuente
fuente
ticklabel_format
también es un método para los objetos de los ejes, puede probar algo comoax.ticklabel_format(style='sci', axis='x', scilimits=(0,0))
[0.1, 0.2, ...]
y preferiría[1, 2, ...]
con un exponente ajustado. ¿Pudiste encontrar una solución para eso?Esta no es tanto una respuesta a su pregunta original como a una de las consultas que tenía en el cuerpo de su pregunta.
Un pequeño preámbulo, para que mi denominación no parezca extraña:
Como se ha mencionado, puede usar ticklabel_format para especificar que matplotlib debe usar la notación científica para valores grandes o pequeños:
Puede afectar la forma en que esto se muestra usando los indicadores en rcParams (de matplotlib import rcParams) o configurándolos directamente. No he encontrado una forma más elegante de cambiar entre la notación científica '1e' y 'x10 ^' que:
Esto debería darle más Matlab-esc y, de hecho, posiblemente una mejor apariencia. Creo que lo siguiente debería hacer lo mismo:
fuente
El formateador escalar admite la recopilación de exponentes. Los documentos son los siguientes:
tu técnica sería:
Para que el exponente se muestre en el formato
x10^5
, cree una instancia de ScalarFormatter conuseMathText=True
.También puede utilizar:
Para obtener un resultado como este:
fuente
useMathText=True
para obtenerx10^4
.Encuentro la solución simple
fuente