2015-07-01 5 views
6

Ich versuche, die X-Achsen-Grenzwerte für jede Facette eines Seaborn-Facettenrasters auf verschiedene Werte zu setzen. Ich verstehe, dass ich Zugang zu allen Achsen innerhalb der Nebenhandlungen durch g.axes bekommen, also habe ich versucht, über sie zu durchlaufen und die Xlim Set mit:Achsengrenzen für einzelne Facetten des Seaborn-Facettenrasters festlegen

g = sns.FacetGrid(mapping, col=options.facetCol, row=options.facetRow, col_order=sorted(cols), hue=options.group) 
g = g.map(sns.distplot, options.axis) 

for i, ax in enumerate(g.axes.flat): # set every-other axis for testing purposes 
     if i % 2 == 0[enter link description here][1]: 
      ax.set_xlim(-400,500) 
     else: 
      ax.set_xlim(-200,200) 

Allerdings, wenn ich dies tun, Alle Achsen werden auf (-200, 200) gesetzt, nicht nur auf jede andere Facette.

Was mache ich falsch?

+6

Sie müssen 'False' zu' sharey' und 'sharex' übergeben, wenn die Achsen unterschiedliche Grenzen haben sollen. – mwaskom

Antwort

9

mwaskom hatte die Lösung; hier für die Vollständigkeit zu schreiben - musste nur die folgende Zeile zu ändern:

g = sns.FacetGrid(mapping, col=options.facetCol, row=options.facetRow, col_order=sorted(cols), hue=options.group, sharex=False) 
Verwandte Themen