2016-08-03 9 views
6

Poszukuję niezawodnego sposobu automatycznego wybierania stylów linii dla moich działek. Obecnie mam 8 linii dla fabuły i mam nadzieję, że możliwe jest automatyczne wybieranie stylów linii, które można odróżnić od siebie.Najbardziej niezawodny sposób automatycznego wybierania stylów linii w matplotlib w połączeniu z seabornem

Od teraz mam zasadniczo dwa sposoby. Ustawianie znaczników lub definiowanie stylów. Oba wydają się mieć problemy z seabornem. Pierwszym jest użycie cyklicznych zmian:

plt.rc('axes', prop_cycle=cycler('linestyle', ['-', '--', ':', '-.'])) 

Jeśli użyję, że albo to zastępuje ustawienia Seaborn, albo zostaną nadpisane przez Seaborn, w zależności, który z nich ustawić jako pierwszy. Innym sposobem znalazłem w jednym z przykładów i ustawia znaczniki na liniach:

def makeStyles(): 
    markers = [] 
    for m in Line2D.markers: 
     try: 
      if len(m) == 1 and m != ' ': 
       markers.append(m) 
     except TypeError: 
      pass 

    styles = markers + [ 
     r'$\lambda$', 
     r'$\bowtie$', 
     r'$\circlearrowleft$', 
     r'$\clubsuit$', 
     r'$\checkmark$'] 
    return styles 

Problemem tutaj jest, że sporo z markerów wydaje się być taka sama, która jest tylko linia bez znacznik.

Czy istnieje inny sposób, który działa niezawodnie i współpracuje z seabornem?

Odpowiedz

0

Jeśli chcesz zachować rcParams które masz w matplotlib i korzystają z najnowszej wersji Seaborn (> = 0.7.1), najprostszym sposobem jest użycie import seaborn.apionly jak wyjaśniono w what's new

Powiązane problemy