DMUG-Archiv 2001

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

Re: DensityPlot, ListDensityPlot

Hajo Spitzer wrote:
> 
> Martin Heimann wrote:
> >
> > Liebe Kollegen,
> >
> > Mit DensityPlot[f[x,y], {x,x1,x2},{y,y1,y2},ColorFunction->Hue... ]
> > erzielt man schöne Bilder einer Funktion von 2 unabhängigen
> > Variablen. Leider wird dabei die Zuordnung der Farben zu den
> > Funktionswerten nicht mit Hilfe einer Farbtabelle gleichzeitig
> > dargestellt. Laut MMA-Buch  werden die Funktionswerte zwischen
> > Minimum und Maximum auf den Bereich (0,1) skaliert und an Hue[]
> > übergeben. Wenn man jedoch  Minimum und Maximum nicht kennt, dann
> > kann man die Farben nicht bestimmten Funktionswerten zuordnen.  Im
> > Package Graphics`Legend gibt es zwar eine Möglichkeit, eine
> > Farbtabelle beizufügen, allerdings verlangt diese die explizite
> > Spezifikation von Minimum und Maximum. Zudem ist die Programmierung
> > dieser Farbtabelle sehr schwerfällig, da explizit die Lage der
> > Farbtabelle und der Raum für die Zahlen der Tabellenbeschriftung
> > angegeben werden muss etc.
> >
> > Kennt jemand eine bessere Möglichkeit, um an DensityPlot eine
> > ansprechende Farbtabelle anzufügen? Eigentlich erstaunlich, dass MMA
> > dies nicht defaultmässig vorsieht, wenn man bedenkt wie gepflegt
> > sonst z.B. die Achsen und andere Diagrammelemente dargestellt werden.
> > (Dasselbe gilt übrigens auch für die Beschriftung von Konturenlinien,
> > obwohl es hierzu irgendwo ein Package geben soll).
> >
> > Mit freundlichem Gruss,
> > Martin Heimann
> > --
> > Max-Planck-Institut fuer Biogeochemie
> > Postfach 100164, D-07701 Jena, Germany
> > Street Address: Kahlaische Strasse 10
> >
> > Office: +49-3641-686-720/701
> > Mobile: +49-170-6307299
> > Home:   +49-3641-618254
> > Fax.:   +49-3641-686-710
> > Email:  martin.heimann@XXXXXXX.de
> > Web:    http://www.bgc-jena.mpg.de/~martin.heimann
> Hallo,
> 
 ich wuerde mir in dieser Richtung in Mathematica auch mehr Komfort
 wünschen. Sehr hilfreich wäre z.B. bezüglich Überschriften,
 Beschriftungen allgemein und sonstigem schmückenden Beiwerks in
Grafiken
 den Mechanismus einzubauen, den die grossen Grafikpakete anbieten,
 nämlich eine Grafik in Gruppen zu zerlegen, die einzeln positioniert
und
 skaliert werden können. Ungelösst ist z.B. immer noch folgendes :
  wenn man eine Überschrift in eine bestimmten Grösse wählt um ein
 freundliches Verhältniss zur Grafik herzustellen und man entschliesst
 sich, das Ganze schön auszudrucken und muss nun die Grafik in der
Grösse
 verändern(um z.b. ein A4-Blatt zu füllen) wird das Verhältnis von
 Schrift zu Grafik verändert, was sehr unschön ist.Aber es kommen ja
noch
 neue Mathematicaversionen...
 Ich habe seinerzeit, als die Nase noch globale Höhendaten auf CD zum
 Nulltarif verschickte mit folgendem Mathematicatext landkartenähnliche
 Bilder erzeugt, die ich auch hinlänglich beschriften konnte :
 
 ShowLegend[
   Show[Graphics[RasterArray[farbe /@ # & /@ Reverse[daten2]]], Frame ->
 True,
     FrameTicks -> {xTicks, yTicks }, DisplayFunction -> Identity,
     AspectRatio -> Dimensions[daten2][[2]]/Dimensions[daten2][[1]]],
         {farbe[ff[1 - #]] &, 40, ToString[max] <> "m", ToString[min] <>
"m",
     LegendPosition -> {-.85, -1.2}, LegendSize -> {1.7, .4},
     LegendOrientation -> Horizontal, LegendSpacing -> .1,
     LegendLabel -> "Hoehe und Farbe", LegendTextDirection -> {0, -1}},
   DisplayFunction -> $DisplayFunction,
   PlotLabel -> FontForm[kartenName, {"Courier-Bold", 16}]]
 
 aber es ist krüpplig und erfordert viel Probierzeit.Die Umwandlung von
 Höhenangaben(0<= h <= 9000 und Meerestiefen einheitlich auf -9999
 gesetzt) in Metern in Farbwerte erfolgte mit :
 ff = min + (max - min) # &;
 
 ff1 = a + b # & /.
       First[Solve[{a + b (-10000) == .64, a + b(0) == .50}, {a, b}]];
 ff2 = a + b # & /.
       First[Solve[{a + b (0) == .43, a + b(500) == .15}, {a, b}]];
 ff3 = a + b # & /.
       First[Solve[{a + b (500) == .15, a + b(10000) == 0}, {a, b}]];
 farbff = Which[# < 0, ff1[#] , # < 500, ff2[#], # <= 10000, ff3[#]] &;
 farbe = Hue[farbff[ff[#]]] &;
 
 Gruss
 
 Hajo Spitzer


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

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