Hallo Klaus Peter,
eine einfache hässliche Lösung ist:
Remove[kochLDP];
kochLDP[data_, affinx_List:{1, 0}, affiny_List:{1, 0}, tickOff_List:{0, 0}] :=
Module[ {ax, bx, ay, by, xoff, yoff},
{ax, bx} = affinx; {ay, by} = affiny; {xoff, yoff} = tickOff;
xticks1 = Table[{i + xoff, ToString[ ax i + bx]}, {i, 1,
Last[Dimensions[data]]}];
(* haesslich, Table nochmal *)
xticks2 = Table[{i + xoff, ""}, {i, 1, Last[Dimensions[data]]}];
yticks1 = Table[{i + yoff, ToString[ay i + by]}, {i, 1,
First[Dimensions[data]]}];
yticks2 = Table[{i + yoff, ""}, {i, 1, First[Dimensions[data]]}];
ListDensityPlot[data,
FrameTicks -> {xticks1, yticks1, xticks2, yticks2},
ColorFunction -> Hue
]
] /; TensorRank[data] == 2 && Length[affinx] == 2 && Length[affiny] == 2
dann gibt für
mdata = Table[Random[], {i, 1, 10}, {j, 1, 7}]
kochLDP[mdata]
den default view (wie bei direkter Benutzung vonListDensityPlot)
kochLDP[mdata, {5, 3}, {1, 0}]
ändert die x-Ticks gegenüber dem Default und
kochLDP[mdata, {5, 3}, {1, 0}, {-1/2, -1/2}]
rückt die Ticks in die Mitte der Kästchen usw. usf. ...
Wenn man xticks2 und yticks2 weglässt, wendet Mma die Ticks zyklisch gegen den
Uhrzeigersinn beginnend mit der Abszisse an den 4 Seiten des Bildes an. Die
Nutzung von FilterOptions (siehe R. Mäders Buch) empfiehlt sich, um durch
kochLDP andere Optionen an ListDensityPlot durchgeben zu können.
Gruss
Udo.
Klaus Peter Koch schrieb:
> Hallo,
>
> ich habe ein Problem mit ListDensityPlot:
> Beim Darstellen einer Datenreihe in einer Quadratischen Matrixform mittels
> ListDensityPlot möchte ich die Achsen linear skalieren.
> Beispiel:
> Standart Darstellung: x-Achse -> x-Position des Datenpunktes in der Matrix
> gewünschte Darstellung: x-Achse -> a*(x-Position)+b
> Kann mir da jemand weiterhelfen?
> Gruß und Danke im Voraus
> Klaus
> ........................................................
>
> Dipl.-Ing. Klaus Peter Koch
>
> Fraunhofer Institute for Biomedical Engineering
> Biohybrid Systems Department
>
> Ensheimer str. 48
> 66386 St.Ingbert
> Germany
> Phone: +49 6894-980-404
> Fax: +49 6894-980-400
> email: klauspeter.koch@XXXXXXX.de