Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

256
Views
¿Cómo modificar los intervalos en los mapas de color cualitativos de matplotlib?
import matplotlib.pyplot as plt import numpy as np

Tengo una matriz numpy 2D:

 mock=\ np.array([[0.1,0.2,0.3], [0.2,0.3,0.4], [0.3,0.4,0.5], [0.4,0.5,0.6], [0.5,0.6,0.7], [0.6,0.7,0.8], [0.7,0.8,0.9]])

Trazo estos valores usando el mapa de tab20c , de los llamados mapas de colores "cualitativos":

 plt.figure(figsize=(6,6)) im = plt.imshow(mock,cmap = "tab20c", vmin=0, vmax=1) plt.colorbar(im)

ingrese la descripción de la imagen aquí

¿Cómo haría esto si quisiera que todos los valores estuvieran por debajo de cierto valor, digamos que 0.25 tuviera el mismo color que tiene 0.25, reemplazando no solo los colores en el gráfico en sí, sino también en la barra de colores? El resultado esperado sería entonces: los 3 cuadrados en la esquina superior izquierda serían rojos, los 5 rectángulos inferiores en el mapa de colores también serían todos rojos.

Al hacer esto, básicamente estoy modificando el intervalo para el color rojo en el gráfico de barras: en lugar de mostrar los valores en el intervalo entre 0,2 y 0,25 como rojo, la nueva versión mostrará todo en el intervalo entre 0 y 0,25 rojo.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

¿Qué pasa con el uso de numpy.clip para establecer los datos por debajo de 0,25 a 0,25?

 im = plt.imshow(np.clip(mock, 0.25, np.inf), cmap = "tab20c", vmin=0, vmax=1)

Esta parece ser la solución más sencilla para mí, ya que no requiere alterar los parámetros de trazado.

producción:

datos recortados

over 4 years ago · Santiago Trujillo Report

0

Puede adaptar un mapa de colores existente:

 import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.colors import ListedColormap, LinearSegmentedColormap tab20c = cm.get_cmap('tab20c', 256) newcolors = tab20c(np.linspace(0, 1, 256)) red = np.array([1, 0, 0, 1]) newcolors[:int(256/4), :] = red newcmp = ListedColormap(newcolors) mock=\ np.array([[0.1,0.2,0.3], [0.2,0.3,0.4], [0.3,0.4,0.5], [0.4,0.5,0.6], [0.5,0.6,0.7], [0.6,0.7,0.8], [0.7,0.8,0.9]]) plt.figure(figsize=(6,6)) im = plt.imshow(mock,cmap = newcmp, vmin=0.0, vmax=1) plt.colorbar(im)

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!