Die Mathe-Redaktion - 19.12.2018 16:49 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
ListenpunktSchwätz / Top 15
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 655 Gäste und 14 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Spock mire2
Mathematische Software & Apps » Mathematica » MatrixPlot, ArrayPlot, Sensibilität fix einstellen
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule MatrixPlot, ArrayPlot, Sensibilität fix einstellen
dilch
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.09.2008
Mitteilungen: 179
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2018-11-19


Liebe alle,
ich würde gerne bei oben genannten Funktionen die Farbe für den Eintrag fixieren, also, dass
mathematica
MatrixPlot[
{{1,0},{0,2}}]

und
mathematica
MatrixPlot[
{{0.1,0},{0,0.2}}]

deutlich unterschiedlich aussehen. Ich lese nun schon lange die Hilfe und probiere viel aus, also insbesondere ColourFunctionScaling, aber ich bekomme es nicht hin.
Vielen lieben Dank im Voraus



  Profil  Quote  Link auf diesen Beitrag Link
Primentus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.02.2016
Mitteilungen: 826
Aus: Deutschland
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2018-11-19


Hallo dilch,

naja, wenn man in
Mathematica
MatrixPlot[{{1, 0}, {0, 2}}, ColorFunctionScaling -> False]
MatrixPlot[{{0.1, 0}, {0, 0.2}}, ColorFunctionScaling -> True]
das ColorFunctionScaling einmal auf False und einmal auf True setzt, sind es ja schon mal unterschiedliche Farben (einmal Graustufen und einmal farbig).

Alternativ ginge noch die Verwendung der Option ColorFunction, z. B. so:
Mathematica
MatrixPlot[{{1, 0}, {0, 2}}, ColorFunction -> GrayLevel]
MatrixPlot[{{0.1, 0}, {0, 0.2}}, ColorFunction -> "TemperatureMap"]

Mögliche Werte für ColorFunction sind Hue, GrayLevel, "Rainbow", "TemperatureMap" oder "Monochrome". Man beachte: manche Optionswerte ohne Anführungszeichen geschrieben, manche mit.

Welche Farben aus dem gewählten Farbverlauf konkret Verwendung finden, hängt natürlich von den in MatrixPlot angegebenen Datenwerten ab, insofern kann man diese meines Wissens dort nicht fix einstellen.

LG Primentus



  Profil  Quote  Link auf diesen Beitrag Link
dilch
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.09.2008
Mitteilungen: 179
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2018-11-20


Danke dir erstmal für die Antwort! Zu Beginn war ich ein wenig betriebslind!

Das mit den Datenwerten ist ja "ärgerlich". Ich zeichne verschiedene stochastische Prozesse über einen längeren Zeitraum, zu Beginn hab ich so eine Density von 0,5 pro Eintrag der Matrix, meine Partikel verlassen aber alle den Raum. Das bedeutet, mit der Zeit nimmt die auf bis zu 1/1000 ab, das möchte ich natürlich visuell irgendwie sehen und nicht von Mathematica "korrigiert" bekommen :(
Naja, muss ich mich mal spielen



  Profil  Quote  Link auf diesen Beitrag Link
Primentus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.02.2016
Mitteilungen: 826
Aus: Deutschland
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2018-11-20


Hallo dilch,

ich weiß zwar nicht, wie umfangreich Deine Daten sind, aber wenn ich Dich richtig verstanden habe, dann könnte man sich ja vielleicht eine eigene MatrixPlot-Funktion basteln, etwa wie folgt:
Mathematica
MyMatrixPlot[matrix_, c_, max_] := 
  Module[{dims, dimz, min, i, j, m},
    dimz = Length[matrix]; 
    dims = Length[matrix[[1]]];
    m = matrix;
    For[i = 1, i <= dimz, i++, 
      For[j = 1, j <= dims, j++, 
        m[[i, j]] = RGBColor[c[[1]], c[[2]], c[[3]], m[[i, j]]/max]
      ]
    ]
    MatrixPlot[m]
  ]

Erstes Argument der Funktion ist die Matrix, zweites die vorgegebene RGB-Grundfarbe (am besten einer der Werte {0,0,0}, {0,0,1}, {0,1,0}, {0,1,1}, {1,0,0}, {1,0,1} oder {1,1,0}), und drittes Argument ist der Maximalwert, der in der Referenzmatrix vorkommt.

Die Aufrufe könnten dann so aussehen:
Mathematica
MyMatrixPlot[{{1, 0}, {0, 2}}, {1, 0, 0}, 2]
MyMatrixPlot[{{0.1, 0}, {0, 0.2}}, {1, 0, 0}, 2]

Letztes Argument beim ersten Funktionsaufruf ist der größte Wert, der in der Matrix vorkommt, und es wurde die Grundfarbe Rot gewählt. Je nach Matrixelement wird der entsprechende Wert in einem bestimmten Rotton dargestellt. Wenn man dann im gezeigten zweiten Funktionsaufruf den gleichen Höchstwert wie in der ersten Matrix (und nicht wie in der übergebenen zweiten Matrix) angibt, erhält man nun andere Rottöne. Ich denke mal, darauf wolltest Du hinaus. Soll aber zusätzlich noch eine andere Grundfarbe angewandt werden, so einfach das entsprechende zweite Argument abändern wie weiter oben beschrieben.

Als drittes Argument der Funktion sollte immer der größte Wert aus allen (logisch zusammengehörenden) betrachteten Matrizen angegeben werden, und dann ergeben sich die anderen Farben relativ dazu.

Prinzipiell können als Grundfarbe auch Mischfarben angegeben werden, indem man als zweites Argument {a,b,c} angibt, wobei a,b,c Werte zwischen Null und Eins sein sollten. Nur {1,1,1} sollte man nicht angeben, weil sonst alles Weiß ist.

Beispiel für eine dreidimensionale Matrix mit Grundfarbe helleres Blau:
Mathematica
MyMatrixPlot[{{0.1, 0, 0}, {0, 0.2, 0}, {0, 0, 0.3}}, {0.6, 0.6, 1}, 0.3]

Ich hoffe, das hilft Dir weiter.

LG Primentus



  Profil  Quote  Link auf diesen Beitrag Link
dilch
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.09.2008
Mitteilungen: 179
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2018-11-23 21:00


Danke für deine Mühen, das sieht gut aus!
Ich glaube aber, es geht auch damit
mathematica
   MatrixPlot[aa], 
    ColorFunction -> (ColorData["TemperatureMap"][
        Rescale[#, {0, 1}]] &), 
    ColorFunctionScaling -> False]



  Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
Primentus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.02.2016
Mitteilungen: 826
Aus: Deutschland
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2018-11-24 14:13


Hallo dilch,

ja, Dein Funktionsaufruf liefert offenbar auch die gewünschte Grafik und ist obendrein sogar noch eleganter.

LG Primentus

P.S.: Die eckige Klammer ] nach aa ist allerdings überflüssig an der Stelle. wink



  Profil  Quote  Link auf diesen Beitrag Link
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2018 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]