Ich versuche Hinzufügen mehrerer Schichten in Gadfly Plot mit einem Muster zu zeichnen, wie folgend:mehrere Schichten in Julia Gadfly Grundstück mit Schlaufen
p = Grundstück (Y-Achsenabschnitt = [0,1,2,3], Geom .hline (Farbe = Farbstoff "dunkelgrau", Größe = 0pt),
[Schicht (x = locs, y = BS [:, i] + 1-1, Geom.line, Thema (default_color = Farbstoff "rot ") für i in ind [1]] ...,
[Schicht (x = locs, y = BS [:, ich] + 2-1, Geom.line, Theme (default_color = Farbstoff" rot ")) für i in ind [2]] ...,
[Schicht (x = locs, y = BS [:, i] + 3-1, Geom.line, Theme (default_color = Farbstoff "rot")) für i in ind [3]] ...,
[Schicht (x = locs, y = BS [:, i] + 4-1, Geom.line, Theme (default_color = Färbemittel "red")) für i in ind [4]] ...
)
Es ist ziemlich nervig, Layer manuell hinzuzufügen, wenn m groß wird (derzeit ist m bis zu 4). Ich möchte also eine Schleife schreiben, um dem aktuellen Plot p Ebenen hinzuzufügen.
p = plot (Y-Achsenabschnitt = [0,1,2,3], Geom.hline (Farbe = Farbmittel "dunkelgrau" size = 0 pt))
für m = 0: M
q = append! (p.layers, [Ebene (x = locs, y = BS [:, i] + m, Geom.line, Thema (default_color = Farbmittel "rot")) für i in ind [m + 1] ] ...) Ende
Die Schleife funktioniert jetzt nicht. Irgendwelche Ideen, wie man die Ebenen leicht hinzufügen kann?
Normalerweise mache ich dies, indem ich einen Vektor von Layern vorprogrammiere (den ich mit einer Schleife erstelle) und dann den Plot-Befehl durch Aufspalten des Vektors der Ebenen, d. H. 'Plot (vectorLayers ...) ', aufruft.Ich bin mir nicht sicher, ob du dynamisch Layern zu einem bereits existierenden Plot-Objekt hinzufügen kannst (hoffentlich wird jemand mit mehr Wissen kommen), aber der Splatter-Trick funktioniert ... –