Is there an option to use a bended or a smooth colorbar?
2 views (last 30 days)
Show older comments
Philipp Mueller
on 12 Sep 2016
Commented: Philipp Mueller
on 12 Sep 2016
Here is my old and easy code: thx
%Datei heisst "Testbeispiel_Harald"
%Der Readtable muss im in D:\work\matlab -> Verzeichnis sein
clc % löscht den Bildschirm
clear all % löscht alle Variablen
%*************************************************************************
%Hier wird die Matrix eingelesen.
%Klassenbreite - Anzahl Klassen - Startpunkt
%2 6 10
%2 8 0
%Jetzt kommt das wirkliche Daten
%x-Wert - y-Wert - Häufigkeit
%12 0 10
%14 0 30
%16 0 54
%18 0 51
%20 0 35
%22 0 12
%14 2 25
%16 2 35
%*************************************************************************
%Als Input wünsche ich mir den linken unteren Punkt!!!!
%Einlesen der Daten
%Input_Matrix = textread('Testbeispiel_RainflowX.txt')
Input_Matrix=rand(10,3);
%Bestimmung der Größe der Matrix die als .txt eingelesen wird
[zeilen,spalten]=size(Input_Matrix)%analysiert die grösse der eingelesenen txt datei
%***********Auslesen spezifischer Daten der Matrix"*********************************
Haeufigkeit=Input_Matrix(3:zeilen,3)%(:,3)%gesamte dritte Spalte (exkl. die ersten 2 Zeilen)
ycord=Input_Matrix(3:zeilen,2)%gesamte x-Koordianten (exkl. die ersten 2 Zeilen)
xcord=Input_Matrix(3:zeilen,1)%gesamte y-Koordinaten (exkl. die ersten 2 Zeilen)
x_Klassenbreite=Input_Matrix(1,1) %Wie breit ist die Klasse in x
y_Klassenbreite=Input_Matrix(2,1) %Wie breit ist die Klasse in y
x_Klassen=Input_Matrix(1,2) %Klassenanzahl x?
y_Klassen=Input_Matrix(2,2) %Klassenanzahl y?
x_Start=Input_Matrix(1,3) %KS Startwert in x?
y_Start=Input_Matrix(2,3) %KS Startwert in y?
%************Berechnungen für die Achsendarstellungen**********************
x_Achse_Start=x_Start; %Startpunkt auf x-Achse
y_Achse_Start=y_Start; %Startpunkt auf x-Achse
x_Achse_Ende= x_Klassen * x_Klassenbreite+x_Achse_Start %EndWert auf der x-Achse
y_Achse_Ende= y_Klassen * y_Klassenbreite+y_Achse_Start %%EndWert auf der y-Achse
n=10; % höchst zulässige Teilung
if x_Klassen > n
x_Teilung = n;
else
x_Teilung = x_Klassen;
end
if y_Klassen > n
y_Teilung = n;
else
y_Teilung = y_Klassen;
end
%x_Achse_thicks = (x_Achse_Ende-x_Achse_Start)/10 %x-Achse Teilung
%y_Achse_thicks = (y_Achse_Ende)/10 %x-Achse Teilung
x_Achse_thicks1 = round(linspace(x_Achse_Start,x_Achse_Ende,x_Teilung))
y_Achse_thicks1 = round(linspace(y_Achse_Start,y_Achse_Ende,y_Teilung))
%figure;
figure1 = figure('Color',[1 0.968627452850342 0.921568632125854]);
%Punkte_Matrix => Matrix deren Inhalt die Koordinaten aller Eckpunkte der Rechtecke hat
%Größe => (x Zeilen/ 2 Spalten)
%Benötigte Größe der Punkte_Matrix definieren bzw. alle Werte mit Null initalisieren:
Anzahl_Zeilen_Punkte_Matrix=(zeilen-2)*4;
Anzahl_Spalten_Punkte_Matrix=2;%Fixwert 2 Spalten
Punkte_Matrix = zeros(Anzahl_Zeilen_Punkte_Matrix,Anzahl_Spalten_Punkte_Matrix);
Connections = reshape(1:Anzahl_Zeilen_Punkte_Matrix,4,[])';%Erzeugt eine Matrix für die
%korrekte Verbindung der Rechtecks-Punkte
value=length(ycord);
%Punkte_Matrix mit den Startwerten initalisieren
%X Werte
x=1;
for i = 1:value
Punkte_Matrix(x,1)=xcord(i);
x=x+4
end
%Punkte_Matrix mit den Startwerten initalisieren
%y Werte
x=1;
for i = 1:value
Punkte_Matrix(x,2)=ycord(i);
x=x+4
end
%Punkte_Matrix mit Punkt2 befüllen
%y Werte
x=2;
for i = 1:value
Punkte_Matrix(x,1)=xcord(i)+x_Klassenbreite;
x=x+4
end
x=2;
for i = 1:value
Punkte_Matrix(x,2)=ycord(i);
x=x+4
end
%Punkte_Matrix mit Punkt3 befüllen
%y Werte
x=3;
for i = 1:value
Punkte_Matrix(x,1)=xcord(i)+x_Klassenbreite;
x=x+4
end
x=3;
for i = 1:value
Punkte_Matrix(x,2)=ycord(i)+y_Klassenbreite;
x=x+4
end
%Punkte_Matrix mit Punkt4befüllen
%y Werte
x=4;
for i = 1:value
Punkte_Matrix(x,1)=xcord(i);
x=x+4
end
x=4;
for i = 1:value
Punkte_Matrix(x,2)=ycord(i)+y_Klassenbreite;
x=x+4
end
patch('Faces',Connections,'Vertices',Punkte_Matrix,'FaceVertexCData',Haeufigkeit,'FaceColor','flat','EdgeColor','none') %Befehl fürs "zeichnen"
colormap(jet)
%figure1 = figure('Color',[1 0.968627452850342 0.921568632125854]);
label_colorbar=colorbar
ylabel(label_colorbar,'Cycles [-]','FontSize',14,'FontWeight','bold')
[maxValue, rowIdx] = max(Haeufigkeit(:,1),[],1)
caxis([0,maxValue]) % setzt die color limits
title('Harald will keine Überschrift Platzhalter','FontSize',14);% Create title
xlabel('Mean Value [MPa]','FontWeight','bold');% Create label
ylabel('Amplitude [MPa]','FontWeight','bold');% Create label
legend('Legende brauchen wir auch keine');
axis([x_Achse_Start x_Achse_Ende 0 y_Achse_Ende])
grid off
set(gca,'XTick',x_Achse_thicks1)
set(gca,'YTick',y_Achse_thicks1)
set(gca,'XGrid','off','YGrid','off','ZGrid','off'); %Raster abschalten
%gca.XTickLabelRotation = 45; % bei bedarf
%gca.YTickLabelRotation = 45; % bei bedarf
%set(gca,'YTickLabel',{''})
%set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
%set(gca, 'XTickMode', 'manual', 'XTick', Ticks, 'xlim', [0,20]);
0 Comments
Accepted Answer
Image Analyst
on 12 Sep 2016
Use more colors by passing jet() the number of colors you want to use:
colormap(jet(256));
More Answers (0)
See Also
Categories
Find more on Geographic Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!