ticks examples color change bar python colors matplotlib

python - examples - imshow colorbar



matplotlib colorbar para scatter (2)

De los documentos de matplotlib en scatter 1 :

cmap solo se usa si c es una matriz de flotadores

Por lo tanto, la lista de colores debe ser una lista de flotantes en lugar de una lista de tuplas como la tiene ahora. plt.colorbar () quiere un objeto mappable, como CircleCollection que devuelve plt.scatter (). vmin y vmax pueden controlar los límites de tu barra de color. Las cosas que están fuera de vmin / vmax obtienen los colores de los puntos finales.

¿Cómo funciona esto para ti?

import matplotlib.pyplot as plt cm = plt.cm.get_cmap(''RdYlBu'') xy = range(20) z = xy sc = plt.scatter(xy, xy, c=z, vmin=0, vmax=20, s=35, cmap=cm) plt.colorbar(sc) plt.show()

Estoy trabajando con datos que tienen los datos tienen 3 parámetros de trazado: x, y, c. ¿Cómo se crea un valor de color personalizado para un diagrama de dispersión?

Extendiendo este example estoy tratando de hacer:

import matplotlib import matplotlib.pyplot as plt cm = matplotlib.cm.get_cmap(''RdYlBu'') colors=[cm(1.*i/20) for i in range(20)] xy = range(20) plt.subplot(111) colorlist=[colors[x/2] for x in xy] #actually some other non-linear relationship plt.scatter(xy, xy, c=colorlist, s=35, vmin=0, vmax=20) plt.colorbar() plt.show()

pero el resultado es TypeError: You must first set_array for mappable


Si busca dispersar por dos variables y colorear por el tercero, Altair puede ser una gran opción.

Creando el conjunto de datos

import matplotlib.pyplot as plt import numpy as np import pandas as pd df = pd.DataFrame(40*np.random.randn(10, 3), columns=[''A'', ''B'',''C''])

Trama Altair

from altair import * Chart(df).mark_circle().encode(x=''A'',y=''B'', color=''C'').configure_cell(width=200, height=150)

Trama