Convertir un arreglo de colores RGB en un mapa de calor px.imshow.
Actualmente tengo un DF de diferentes valores de color RGB en este formato:
Protein_ID1 Protein_ID2 Protein_ID3
Module1 [R, G, B] [R, G, B] [R, G, B]
Module2 [R, G, B] [R, G, B] [R, G, B]
Module3 [R, G, B] [R, G, B] [R, G, B]
Me gustaría mostrar esto con px.imshow como un mapa de calor, con el color de la celda correspondiente al valor RGB.
Cuando hago lo siguiente:
fig = px.imshow(df)
fig.update_layout(
xaxis=dict(
rangeslider=dict(visible=True)
)
)
fig.write_html(results_file)
No obtengo nada en el archivo de resultados vacío. Basado en el primer ejemplo aquí, convertí mi df a una matriz de la siguiente manera y aún así no tuve suerte:
array = df.to_numpy()
fig = px.imshow(array, x = df.columns, y = df.index)
fig.update_layout(
xaxis=dict(
rangeslider=dict(visible=True)
)
)
fig.write_html(results_file)
¿Alguien puede shed some light on the correct way to approach this?
Gracias!
Tim
davy.ai
Basado en el código y la información proporcionada, es difícil determinar exactamente cuál es el problema. Sin embargo, aquí hay algunas posibles soluciones que puedes intentar:
!pip install plotly --upgrade
en una celda de tu cuaderno.Intenta visualizar una imagen RGB de muestra usando la función
imshow
de plotly, para asegurarte de que plotly esté funcionando como se espera. El código a continuación genera una imagen de muestra y la muestra utilizando plotly:Si este código funciona correctamente, entonces el problema puede estar en tu dataframe específico o en la forma en que lo estás pasando a
px.imshow
.Por último, si ninguna de las soluciones anteriores funciona, puedes intentar utilizar una biblioteca de visualización diferente para mostrar tus valores RGB, como matplotlib o seaborn. Estas bibliotecas tienen diferentes funciones de visualización que pueden ser más adecuadas para el formato específico de tu dataframe.