Tengo una matriz de marcas de tiempo en el formato (HH: MM: SS.mmmmmm) y otra matriz de números de coma flotante, cada una correspondiente a un valor en la matriz de marcas de tiempo.
¿Puedo trazar el tiempo en el eje xy los números en el eje y usando Matplotlib?
Estaba tratando de hacerlo, pero de alguna manera solo aceptaba series de carrozas. ¿Cómo puedo hacer que trace el tiempo? ¿Tengo que modificar el formato de alguna manera?
python
graph
plot
matplotlib
pensamiento aleatorio
fuente
fuente
scatter_date()
y obvia / directa de obtener este gráfico.También puede trazar la marca de tiempo, pares de valores usando pyplot.plot (después de analizarlos desde su representación de cadena). (Probado con matplotlib versiones 1.2.0 y 1.3.1.)
Ejemplo:
Imagen resultante:
Esto es lo mismo que un diagrama de dispersión:
Produce una imagen similar a esta:
fuente
plot
ascatter
).Type Error - invalid type promotion
.datetime.datetime
objetos en el eje x a mi publicación.plt.grid(True)
matplotlib.__version__
2.2.2. Sin embargo, el diagrama de dispersión tiene algunos límites x demasiado amplios establecidos por defecto. Esta respuesta parece proporcionar una solución alternativa que no sea el ajuste manualplt.xlim(...)
: stackoverflow.com/a/46467896/10253917 años después y este código me ha ayudado. Sin embargo, mis tiempos todavía no se mostraban correctamente.
Usando Matplotlib 2.0.0 y tuve que agregar el siguiente bit de código de Edición del formato de fecha de etiquetas de marca de eje x en matplotlib por Paul H.
Cambié el formato a (% H:% M) y la hora se muestra correctamente.
Todo gracias a la comunidad.
fuente
Tuve problemas con esto usando la versión matplotlib: 2.0.2. Al ejecutar el ejemplo desde arriba, obtuve un conjunto de burbujas apiladas centradas.
"Solucioné" el problema agregando otra línea:
El fragmento de código completo se convierte en:
Esto produce una imagen con las burbujas distribuidas como se desee.
fuente