0
votes

Comment faire du vélo de couleurs dans un complot pour chaque itération d'une boucle

J'essaie d'exécuter une boucle pour la boucle qui cycle à travers des couleurs pour chaque itération d'une boucle. Je trouve des questions similaires qui parcourent des couleurs, mais pas une personne qui dépend d'une boucle particulière. Je fournis des liens ci-dessous:

Comment choisir une nouvelle couleur pour chaque ligne tracée dans une figure dans matplotlib?

matplotlib.cycler

Couleur Cycler Demo

Mon code est pour une simple promenade aléatoire xxx

Je voudrais créer une ligne avec une couleur différente pour chaque j . Je m'excuse si la réponse est évidente. Je suis un novice à Python.


0 commentaires

4 Réponses :


3
votes

Choisissez une palette de couleurs que vous aimez à partir de MATPLOTLIB.CM

Essayez: xxx

Entrez l'image Description ici


1 commentaires

Vous pouvez inclucer l'épaisseur de la ligne par la largeur de ligne dans plt.plot ... meilleure utilisation linewidth = 2.0



4
votes

Comme il est maintenant, la nouvelle couleur sera prise pour chaque ligne. Si vous souhaitez limiter les choix et la boucle via une liste, vous pouvez utiliser ithertools.cycle : xxx


1 commentaires

Merci @Alexey_MINTS Cela fonctionne bien si vous essayez de parcourir les couleurs.



4
votes

J'ai ajouté une liste de couleurs. Je suis à peu près sûr qu'ils peuvent être rvb ou hexagonaux. Ensuite, à l'intérieur de la boucle J, la couleur passera à l'index suivant. xxx


0 commentaires

3
votes

Vous avez plusieurs options à l'aide de matplotlib.pylplot.

Outre les solutions déjà fournies, vous pouvez définir votre couleur directement et modifier les valeurs en fonction de votre boucle: p>

 # Parameters
ntraj=10
n=20
p=0.4

xtraj=np.zeros(n+1,float)


# Simulation
for j in range(ntraj):
    for i in range(n):
        xtraj[i+1]=xtraj[i]+2.0*np.random.binomial(1,p)-1.0

    ctemp = 0.1+(j-1)/ntraj
    plt.plot(range(n+1),xtraj,'b-',alpha=0.2, color=(ctemp, ctemp, ctemp))

plt.title("Simple Random Walk")


0 commentaires