Estoy comparando algunos resultados algorítmicos usando matplotlib.pyplot, sin embargo, es muy difícil entender lo que está pasando ya que varias líneas tienen el mismo color exacto. Hay alguna manera de evitar esto? No creo que pyplot solo tenga siete colores, ¿o sí?Cómo evitar la repetición de color de línea en matplotlib.pyplot?
Respuesta
Matplotlib tiene más de siete colores. Puede especificar su color de muchas maneras (consulte http://matplotlib.sourceforge.net/api/colors_api.html).
Por ejemplo, puede especificar el color utilizando una cadena HTML hexadecimal:
pyplot.plot(x, y, color='#112233')
Lo mejor si sabe cuántas parcelas se va a trama es definir el mapa de colores antes:
import matplotlib.pyplot as plt
import numpy as np
fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
number_of_plots=10
colormap = plt.cm.nipy_spectral #I suggest to use nipy_spectral, Set1,Paired
ax1.set_color_cycle([colormap(i) for i in np.linspace(0, 1,number_of_plots)])
for i in range(1,number_of_plots+1):
ax1.plot(np.array([1,5])*i,label=i)
ax1.legend(loc=2)
Usando nipy_spectral
¿Debería preocuparnos que 'set_color_cycle()' esté en desuso en 'versión 1.5'? 'plt' sugiere usar' set_prop_cycle() 'en su lugar (pero aún no lo he intentado). – dwanderson
También sugeriría el uso de Seaborn. Con esta biblioteca es muy fácil generar paletas de colores secuenciales o cualitativas con la cantidad de colores que necesita. También hay una herramienta para visualizar las paletas. Por ejemplo:
import seaborn as sns
colors = sns.color_palette("hls", 4)
sns.palplot(colors)
plt.savefig("pal1.png")
colors = sns.color_palette("hls", 8)
sns.palplot(colors)
plt.savefig("pal2.png")
colors = sns.color_palette("Set2", 8)
sns.palplot(colors)
plt.savefig("pal3.png")
Estas son las paletas resultantes:
- 1. ¿Cómo evitar la repetición en MSBuild?
- 2. Permutación con Repetición: desbordamiento Evitar
- 3. ¿Cómo cambiar el tamaño de la leyenda con matplotlib.pyplot
- 4. ¿Cómo evitar la repetición de la recarga de video HTML en la misma página?
- 5. Evitar la repetición de código cuando se utiliza LINQ
- 6. Cómo evitar la repetición del espacio de nombres en la página aspx
- 7. ¿Evitar la repetición del código después del bucle?
- 8. C# ¿Genéricos para evitar la repetición del código?
- 9. ¿Cómo evitar la repetición cuando se usa super (...) en Python 2.6+?
- 10. ¿Cómo prevenir la repetición en la función jQuery?
- 11. cómo simular la repetición() en SQLite
- 12. Evitar la repetición usando lentes mientras profundamente copiar en asignar los valores de
- 13. Evitar la nueva línea en la salida de escritura
- 14. Cómo trazar una línea de color de degradado en matplotlib?
- 15. Django - Consejos para evitar la repetición de código en las vistas
- 16. Rafael: Establecer Color de línea
- 17. Repetición de "Eventos" (Calendario)
- 18. Lote Color por línea
- 19. Trazar Elipse con matplotlib.pyplot (Python)
- 20. Repetición de vectores en Clojure
- 21. Repetición de degradado de fondo CSS Problema
- 22. WPF: ¿Cómo detectar la repetición de teclas, en Key * events?
- 23. Cambiar el color de la línea en pestañas - ActionBarSherlock
- 24. En matplotlib.pyplot, ¿cómo trazar dos conjuntos de datos utilizando gráficos de barras intercaladas?
- 25. PhpStorm color de fondo número de línea
- 26. Ajuste de color de la línea de comandos de Vim
- 27. Cómo cambiar el color de línea de comando de Emacs
- 28. Cómo evitar la duplicación de código
- 29. Gráfico de la línea KendoUI, ¿Cómo evitar que las etiquetas se dibujen fuera del gráfico?
- 30. Android fondo de la imagen de repetición
http://matplotlib.sourceforge.net/users/pyplot_tutorial.html – Ion
Te sugiero que eches un vistazo a esta publicación: http://stackoverflow.com/questions/4805048/how-to-get-different-li nes-for-different-plots-in-a-one-figure –