DMUG-Archiv 2006

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Normalverteilung

Hallo,

> Schrafieren/hatching wird nicht unterstützt 

das ist leider so, denn es wäre ausgesprochen nützlich für
Papers, die ja meistens in S/W gedruckt werden.  Daher habe
ich mir vor Jahren mal ein Skript geschrieben, das farbige
Fläche in Mma-generierten EPS-Files in schraffierte umwandelt.

Hier das Skript rgb2hatch:

#! /bin/sh
sed '
s:0 0 1 r:/angle 45 def /dist .01 def:
s:1 0 0 r:/angle 135 def /dist .008 def:
/^F$/c\
closepath gsave clip .001 setlinewidth\
angle sin angle cos div\
dup abs neg dist angle cos abs div 1 2 index sub {\
  dup 2 index sub 0 exch moveto\
  1 exch lineto stroke\
} for\
pop\
grestore stroke'

Es wird aufgerufen mit rgb2hatch < input.eps > output.eps.

Dieses spezielle Skript ersetzt die RGB-Codes 0 0 1 = Blau
durch eine Schraffur mit Winkel 45 Grad und Linienabstand .01
sowie 1 0 0 = Rot durch Schraffur mit Winkel 135 Grad und
Linienabstand .008.

Zum Testen also etwa:

<< Graphics`FilledPlot`

Export["test.eps", FilledPlot[
  {Sin[x], Sin[1.3 x], Cos[x], Cos[1.3 x]},
  {x, 0, Pi/2},
  Fills -> {{{1, 2}, RGBColor[1,0,0]},
            {{3, 4}, RGBColor[0,0,1]}}, "EPS"]

!./rgb2hatch < test.eps > test2.eps

Weitere Verbesserungen sind jederzeit willkommen, z.B. geht
angle = 90 Grad nicht, und ich weiß auch nicht, wie portabel
bzgl. Mma-Versionen das ganze ist.  Ich habe es ursprünglich
mit Mma 4 verwendet und mußte für 5.2 nur ziemlich banale
Dinge anpassen.


Grüße,

Thomas


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html