Ich habe Daten, die als Verhältnis aufgebaut ist, und daher möchte ich eine rot/weiß/blau Colormap verwenden, wo weiß ist 1 zugeordnet und rot und blau umgeben es. Gibt es einen einfachen Weg, dies zu tun?Matlab Colormap symmetrisch über 1
1
A
Antwort
0
Sie können einfach eine blau-weiß-gelesene Colormap mit interp1
erstellen. Hier ist eine kleine anonyme Funktion, die eine Ganzzahl als Eingabe verwendet und eine Colormap erstellt.
bwr = @(n)interp1([1 2 3], [0 0 1; 1 1 1; 1 0 0], linspace(1, 3, n), 'linear')
colormap(bwr(64));
Um zu steuern, wo die weißen Anrufe, Sie werden die CLim
der Achsen festlegen möchten. Sie werden Ihre Clims um den Wert zentrieren wollen, der weiß sein soll.
set(gca, 'clim', [0 2])
Und als vollwertiges Beispiel:
data = reshape(linspace(0, 100, 16), [4 4]) ./ 50;
figure
imagesc(data);
colormap(bwr(64));
colorbar;
set(gca, 'clim', [0 2])
Beachten Sie aber, dass da Sie ein Verhältnis haben, werden alle Werte zwischen 0 und 1, während die Werte komprimiert werden > 1 kann theoretisch bis ins Unendliche gehen. Als Beispiel:
data = reshape(linspace(1, 200, 16), [4 4]) ./ 50;
Um dies zu korrigieren Sie Ihre Daten vor dem Auftragen von log-Transformation könnte und dann die Markierungen colorbar tick ändern Ihre anfängliche Verhältnis Werte darzustellen.
LData = log(data);
imagesc(LData)
colormap(bwr(64));
cbar = colorbar();
set(gca, 'clim', [-1 1] * max(abs(LData(:))))
cticks = get(cbar, 'Ticks');
cticklabels = arrayfun(@(x)sprintf('%0.2f', x), exp(cticks), 'uniformoutput', false);
set(cbar, 'TickLabels', cticklabels);
Verwandte Themen
- 1. Wie macht man MATLAB xlim auto noch symmetrisch um 0?
- 2. Adjazenzmatrix muss symmetrisch sein
- 3. MATLAB 1/Inf Standard?
- 4. Ist NodeJs Stream symmetrisch?
- 5. matplotlib Standard colormap Nutzung
- 6. Oberflächendiagramm colormap python
- 7. Symmetrisch verschlüsseln/entschlüsseln in .NET
- 8. Ausführen einer Funktion, wenn die Colormap ändert
- 9. redblue colormap mit Übergangszeit bei Null
- 10. Python Matplotlib Colormap
- 11. Kontrastfarbe für Colormap
- 12. Invert Colormap in Matplotlib
- 13. Benutzerdefinierte Colormap in Python
- 14. Einstiegsfragen über Matlab Array-Betrieb
- 15. Pyplot imshow ColorMap funktioniert nicht
- 16. Matplotlib 3D-Plot Verwendung Colormap
- 17. Anzeige von Werten aus einer Matrix in einer benutzerdefinierten Colormap (Matlab)
- 18. Matlab Image Oberflächendiagramm über Farbkanäle
- 19. SSL ist halb symmetrisch und halb asymmetrisch?
- 20. Wie erzwingen Tensorfluss Tensoren symmetrisch zu sein?
- 21. Ist die Md5-Verschlüsselung symmetrisch oder asymmetrisch?
- 22. Mit colormap mit Bokeh Streu
- 23. seaborn color_palette als matplotlib colormap
- 24. Wie kann man Colormap auswählen?
- 25. Für Schleife Durchschnitt über einzelne Zeitpunkt Matlab
- 26. Matlab: Schleifen über Segmente eines Arrays
- 27. MATLAB Subplot Rand
- 28. Stückweise Durchschnitt über n Elemente in Matlab
- 29. Über die Verwendung von Quad in MATLAB
- 30. Hat jemand die Parula Colormap in Matplotlib gemacht?
Brilliant, das funktioniert! Ich danke dir sehr! – agold2121