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