Estoy graficando datos de una matriz numpy usando matplotlib imshow. Sin embargo, algunos puntos no tienen datos en ellos. Inicialicé la matriz usando np.zeroes, por lo que estos puntos arrastran todo el mapa. Sé que ninguno de los datos tendrá jamás un valor de 0.0. ¿Hay alguna forma de que le diga a la rutina imshow que ignore estos puntos (es decir, déjelos blancos para que quede claro que están vacíos)?Configuración de puntos sin datos en blanco con Matplotlib imshow
Respuesta
¿Ha intentado crear instancias de su matriz con NaN en lugar de ceros para ver si el valor predeterminado de matplotlib ignorará los NaN de una manera que le resulte útil? También puede probar simplemente utilizando la indexación lógica para hacer las ubicaciones de 0 igual a NaN justo antes de trazar:
my_data[my_data == 0.0] = numpy.nan
Como alternativa, puede utilizar la idea Nan y follow this link's advice y utilizar NumPy enmascarado matrices con el fin de trazar las entradas NaN como color que prefieres
Creo que también podría usar la idea de ese enlace para crear una matriz enmascarada también en las ubicaciones cero, sin tener que ir a la opción NaN si no le gusta.
Rellene la matriz con Python Ninguno para los puntos que no deben mostrarse.
y_series_1 = [1,None,None,4,5]
y_series_2 = [1,2,5,6,7]
Para este ejemplo, la línea y_series_1 desaparecerá del eje X en el segundo y tercer punto. El resultado son los saltos de línea (la línea comienza, desaparece y luego continúa en el cuarto punto), que creo que es el comportamiento que buscas.
- 1. Superposición de diagramas de imshow en matplotlib
- 2. diagrama de matplotlib e imshow
- 3. Matplotlib imshow función de zoom?
- 4. imshow para 3D? (Python/Matplotlib)
- 5. python matplotlib imshow() marcas personalizadas
- 6. ¿Valores de color en imshow para matplotlib?
- 7. ejes no lineales para imshow en matplotlib
- 8. Matplotlib imshow() estirar para "ajustar el ancho"
- 9. Matplotlib imshow offset para coincidir con el eje?
- 10. ¿Qué matplotlib `imshow (interpolación = 'más cercano')` hacer?
- 11. Gráfico de puntos y figuras con matplotlib
- 12. Prevenir el anti-aliasing para imshow en matplotlib
- 13. Invertir la imagen mostrada por imshow en matplotlib
- 14. ¿Cómo puedo trazar los valores NaN como un color especial con imshow en matplotlib?
- 15. Matplotlib: puntos de etiqueta en mouseover
- 16. ¿Cómo puedo dibujar un diagrama imshow log-normalizado con una barra de colores que represente los datos brutos en matplotlib
- 17. un mapa binario blanco y negro en matplotlib
- 18. Configuración de Matplotlib MPLCONFIGDIR: considere configurar MPLCONFIGDIR en un directorio grabable para los datos de configuración de matplotlib
- 19. imshow (img, cmap = cm.gray) muestra un blanco para 128 valor
- 20. Talla individual por puntos en Matplotlib?
- 21. ¿Cómo puedo hacer una subtrama en blanco en matplotlib?
- 22. Cómo trazar una imagen con un eje y no lineal con Matplotlib usando imshow?
- 23. Matplotlib: no hay efecto de set_data en imshow para el gráfico
- 24. ¿Cómo visualizar datos 2D escalares con Matplotlib?
- 25. Configuración manual de xticks con xaxis_date() en Python/matplotlib
- 26. ¿Jugando con código sin puntos?
- 27. Encontrar los puntos atípicos de matplotlib: boxplot
- 28. Trazado de puntos de datos de 3 tuplas en un gráfico de superficie/contorno usando matplotlib
- 29. gráfico de puntos sin etiquetas
- 30. Definición de un mapa de colores discreto para imshow en matplotlib
Tienes dos buenas respuestas; considere seleccionar uno como correcto. Combiné las dos respuestas para lograr mi objetivo. Ambos fueron mucho más fáciles que definir un cmap. – physicsmichael