|
> -----Original Message----- > From: Stefan Heusler [mailto:stefan@XXXXXXX.de] > Sent: Thursday, March 29, 2001 12:19 AM > To: dmug@XXXXXXX.ch > Subject: PlotStyle als Function > > > Liebe Mathematikar, > > Ich plotte eine Funktion f[x] aus. > Ich will die Dicke mit x variieren lassen. > > Beispiel: > > Plot[BesselJ[2, x], {x, 0, 10}, > PlotStyle -> {Thickness[0.02]}] > > Hier ist Thickness ein fester Wert. Kann ich Thickness mit x variieren > lassen? > > Vielen Dank, > > Stefan Heusler > In der direkten Art, wie du die Frage stellst, nein. Ich vermute mal, du willst einfach im Graphen mit der Strichdicke weitere Informationen codieren. Ultimativ mu?test du dir die Graphic selbst aus den Primitiven zusammenbauen -- was geht, das wie hangt aber sehr von deinen genaueren Wunschen ab, und es ist reichlich Arbeit. Wenn es fur's erste auf den optischen Eindruck ankommt (sehr genau kann man sich mit Strickstarke ja nicht ausdrucken), hier zwei Vorschage: (1) Zusatzinfo (hier der Sinus) codiert in einer "Perlschnur": tf = Table[{x, BesselJ[2, x]}, {x, 0, 10, 0.1}]; tfs = {PointSize[0.015 Sqrt[(Sin[#[[1]]] + 2)/3]], Point[#]} & /@ tf; ListPlot[tf, PlotJoined -> True, PlotStyle -> {Hue[0, 1, 0.7]}, Epilog -> tfs] sieht hubsch aus, wenn du die Graphic gro? genug ziehst. (Ich ziehe die Quadratwurzel, weil der optische Eindruck hier mit der "geschwarzten Flache geht -- denk ich mal.) Naturlich kontest du in ahnlicher weise auch/oder Farbwert und Helligkeit codieren. (2) Wenn du die Punkte nicht magst: << Graphics`FilledPlot` FilledPlot[{Evaluate[BesselJ[2, x] + {1, -1}0.015/2 Sqrt[(Sin[x] + 2)/3]], BesselJ[2, x + 0.035 Sqrt[(Sin[x] + 1)/2]], BesselJ[2, x - 0.035 Sqrt[(Sin[x] + 1)/2]]}, {x, 0, 10}, Fills -> {{{1, 2}, GrayLevel[0]}, {{3, 4}, GrayLevel[0]}}] Das ist ein bi?chen hingefuschelt, die Idee ist hoffentlich erkennbar: die ersten zwei Funktionen unterscheiden sich in den y-Werten in Abhanigkeit der Zusatzinformation, die Flache zwischen beiden Kurven wird geschwarzt (Fills->{{{1,2},GrayLevel[0]} }). Die beiden anderen Kurven variieren in den x-Werten. Die Skalierung habe ich erstmal "optisch" vorgenommen, da mu? man sich noch mehr Muhe geben. (3) Wenn du's ganz genau haben willst, dann mu?t du aus Kurve und Strichstarke die einhullenden Kurven (Enveloppen) genau konstruieren. Gru?, Hartmut |