Pero, ¿qué pasa si pienso que esos mapas de color son feos? Bueno, solo haz tu propio uso de matplotlib. colors. LinearSegmentedColormap. Primero, cree un script que mapeará el rango (0,1) a valores en el espectro RGB. En este diccionario, tendrá una serie de tuplas para cada color rojo, verde y azul. Los primeros elementos en cada una de estas series de colores deben ser ordenados de 0 a 1, con un espaciado arbitrario entre ellos. Ahora, considere (0.5, 1.0, 0.7) en la serie roja a continuación. Esta tupla dice que a 0,5 en el rango de (0,1). Interpolar de abajo a 1,0 y por encima de 0,7. A menudo, los segundos dos valores en cada tupla serán los mismos, pero usar valores diferentes es útil para poner roturas en su mapa de colores. Esto es más fácil de entender que podría sonar, como lo demuestra este sencillo script: Como veis, el mapa de color tiene una ruptura a mitad de camino. Utilice este nuevo poder de manera responsable. Aquí una versión ligeramente modificada del código anterior que permite mostrar una selección de los mapas de colores predefinidos, así como los mapas de color registrados auto-creados. Tenga en cuenta que el diccionario cmapd del módulo cm no está documentado. La elección de colores indexados en discretecmap es algo casual. SciPy: Cookbook / Matplotlib / Showcolormaps (editado por última vez 2017-10-24 17:48:26 por anónimo) Actualmente estoy trabajando en un complot en el que muestro datos combinados. Los trazo con el siguiente código: Y esto me da esta trama: Como se puede ver en la imagen, mi fondo y los cuadrados de primer plano no están alineados. Ambos tienen entonces la misma dimensión (20 x 20). Me gustaría tener una manera, si es posible, alinear centro con centro, o esquina con esquina, pero tener algún tipo de alineación. En algunas celdas de rejilla parece que tengo alineación de esquina inferior derecha, en otras alineación de esquina inferior izquierda y en otras ninguna alineación en absoluto, con degrada la visualización. Cualquier ayuda sería apreciada. En primer lugar, hacer que su fondo del mismo color que sus datos es una idea horrible, interpenetraba eso como un fondo uniforme en sus datos con todas las líneas de rejilla blanca en la parte superior. Si lo que dices es cierto, que el gris es el color del parche de ejes, entonces estás usando algún mapa de color de fantasía con alfa en él. En segundo lugar, por defecto el alcance de imshow debe ser 0-gt tamaño de la imagen. Usted tiene los datos del imshow en las posiciones lt 0 allí para usted está haciendo algo que usted no nos está demostrando hacer esta figura. Ndash tacaswell Como dice tcaswell, su problema puede ser más fácil de resolver definiendo la palabra clave extent para imshow. Si da la palabra clave extent. Los bordes de píxeles más exteriores estarán en las extensiones. Por ejemplo: Ahora es fácil calcular el centro de cada píxel. En la dirección X: la distancia interpixel es (6-2) / 10 0.4 píxeles centro del píxel más a la izquierda está a medio píxel del borde izquierdo, 2 .4 / 2 2.2 De manera similar, los centros Y están a -875 n 0,25. Por lo tanto, al ajustar la medida en que puede obtener sus centros de píxeles donde quieras. Un ejemplo con datos 20x20: Observe que aquí la distancia entre píxeles es la misma para ambos scatter (si tiene un vistazo a xvec, todos los píxeles son de 0,5 unidades aparte) e imshow (como la imagen se estira de -5 a 5 y Tiene 20 píxeles, los píxeles son .5 unidad aparte). Con una mirada más cercana a su argumento, observo que el primer cuadrado de la parcela de ocupante está en (-4.0, -4.0) y el quotlastquot en (4.0, 4.0). Este es tu problema. Cambiarlo a (-3.9, -3.9) y (3.9, 3.9) para obtener la misma gráfica que la mina (o a (-4.0, -4.0) y (3.8, 3.8) para la alineación de la parte inferior izquierda). Para ello, cambie los valores de las llamadas numpy. linspace. Ndash Flabetvibes Jul 18 14 at 23: 23 Estoy intentando mostrar una imagen en escala de grises usando matplotlib. pyplot. imshow (). Mi problema es que la imagen en escala de grises se muestra como un mapa de color. Necesito la escala de grises porque quiero dibujar en la parte superior de la imagen con color. He leído en la imagen y convertir a escala de grises con PIL Image. open (). Convert (L) Entonces convertir la imagen a una matriz para que pueda hacer fácilmente un procesamiento de imagen utilizando Sin embargo, cuando lo hago, muestra la imagen usando un Colormap (es decir, no en escala de grises). Lo que estoy haciendo mal aquí sospecho que es algo estúpido. Gracias por la ayuda
No comments:
Post a Comment