Je sais comment parcourir une liste de couleurs dans matplotlib. Mais est-il possible de faire quelque chose de similaire avec les styles de lignes (unies, en pointillés, en tirets, etc.) ? J'aurais besoin de faire cela pour que mes graphiques soient plus faciles à lire lorsqu'ils sont imprimés. Avez-vous des suggestions sur la manière de procéder ?
Réponses
Trop de publicités?
ebo
Points
5435
DougR
Points
71
Similaire aux graphiques d'Avaris mais différent....
import matplotlib.pyplot as plt
import numpy as np
#set linestyles (for-loop method)
colors=('k','y','m','c','b','g','r','#aaaaaa')
linestyles=('-','--','-.',':')
styles=[(color,linestyle) for linestyle in linestyles for color in colors]
#-- sample data
numLines=30
dataXaxis=np.arange(0,10)
dataYaxis=dataXaxis+np.array([np.arange(numLines)]).T
plt.figure(1)
#-----------
# -- array oriented method but I cannot set the line color and styles
# -- without changing Matplotlib code
plt.plot(datax[:,np.newaxis],datay.T)
plt.title('Default linestyles - array oriented programming')
#-----------
#-----------
# -- 'for loop' based approach to enable colors and linestyles to be specified
plt.figure(2)
for num in range(datay.sh![enter image description here][1]ape[0]):
plt.plot(datax,datay[num,:],color=styles[num][0],ls=styles[num][1])
plt.title('User defined linestyles using for-loop programming')
#-----------
plt.show()
- Réponses précédentes
- Plus de réponses