Ich habe Daten, die logarithmisch ist. Dies ist, wie ich es zeichnen:Korrigieren Sie die Bezeichnungen meiner Farbleiste korrekt?
contourf(x, y, log10(my_data));colorbar;
nun das Bild sieht gut - Farben werden skaliert entsprechend dem Wert jedes Punktes, so dass mein Bild bunt ist. Die neben meiner Farbleiste angezeigten Werte sind jedoch falsch - sie vermissen die Basis (d. H. Ich habe anstelle von 10^3). Also habe ich versucht CAXIS wie vorgeschlagen here mit:
cmin = min(my_data(:));
cmax = max(my_data(:));
C = contourf(x, y, log10(my_data));colorbar;caxis([cmin cmax]);
Es half ein wenig: die von der colorbar angezeigten Werte korrekt sind. Jedoch:
- Mein Bild ist jetzt von einer Farbe, als ob ich meine_Daten statt log10 (my_data) geplottet. Gemäß der documentation ist dies ein beabsichtigter Effekt. Wie werde ich es los?
- Die Werte in der Farbleiste werden als 100, 200, 400, itd angezeigt. H kann ich es in die wissenschaftliche Notation ändern?
bearbeiten: Souver Idee funktioniert. Meine ursprünglichen Ticks sind jedoch nicht nur nette Potenzen von . So sind die neuen Zecken waren folgende: 10^-1, 10^-0,5, 10^0, 10^0,5, 10^1, etc. Aber ich will nicht Zecken so als 10^-0,5, 10^0,5 usw. so habe ich eine neue (kürzere) Liste der Zecken und die Etiketten, die ich will:
set(cbar, 'TickLabels', new_labels)
Nun sieh mal meine Etiketten wie folgt aus: 10^-1, 10^-0, 10^1, 10^2, 10^-1, 10^-0, 10^1, 10^2 usw.
Wie soll ich umgehen damit?
Verwenden 'labels = arrayfun (@ (x) [ '10^{', num2str (x), '}'], Zecken, 'uniformoutput', false);' 'Beachten Sie den {... } 'hinzugefügt ... – EBH