Ich versuche, diese Grafik zu emulieren: in Matlab
Wenn ich eine Korrelationsmatrix haben, wie kann ich eine Ausgabe wie diese erstellen?
Ich versuche, diese Grafik zu emulieren: in Matlab
Wenn ich eine Korrelationsmatrix haben, wie kann ich eine Ausgabe wie diese erstellen?
Wenn Sie eine n x n
Korrelationsmatrix M
haben, und einen Vektor L
der Länge n
das Etikett für jeden Behälter enthält, man etwa wie folgt verwendet werden:
imagesc(M); % plot the matrix
set(gca, 'XTick', 1:n); % center x-axis ticks on bins
set(gca, 'YTick', 1:n); % center y-axis ticks on bins
set(gca, 'XTickLabel', L); % set x-axis labels
set(gca, 'YTickLabel', L); % set y-axis labels
title('Your Title Here', 'FontSize', 14); % set title
colormap('jet'); % set the colorscheme
colorbar on; % enable colorbar
Rotierende x-Achsen-Etiketten ist nicht trivial , aber der MATLAB Central File Exchange enthält some solutions.
Für die x-Achsen-Etikettendrehung können Sie dies einfach über das Matlab-Figurenfenster tun: 1. Wählen Sie * show plot tools and dock figures * aus der Werkzeugleiste, https: //i.stack .imgur.com/lmiz1.png 2. Klicken Sie auf X-Achsenbeschriftungen auf Abbildung https://i.stack.imgur.com/63oKg.png 3. Wählen Sie * mehr Eigenschaften ... * aus dem erscheinenden Fenster https://i.stack.imgur.com/o8NRm.png 4. Navigiere zu * XTickLabelRotation * und setze es auf 90.0 https://i.stack.imgur.com/FHjz7.png – user1323163
Um eine Matrix als ein Bild zeichnen Sie nur zwei Funktionen aufrufen müssen:
image(myMatrix)
colormap(jet)
Die colormap Funktion die Farbmuster definiert verwendet, um das Bild zu machen. Das Bild, das Sie gepostet haben, verwendet die "Jet" Colormap.
Und um die Farbskala neben dem Bild anzuzeigen, verwenden Sie die colorbar Funktion.
Hinzufügen zu @Thomas C. G. Antwort, würde ich verwenden:
imagesc(myMatrix);
colormap(jet);
colorbar;
% then to set the axis titles you'll have to use
% Please note the curly braces for the cell array
labelNames = {'USA','NASDAQ','Dow Jones'};
set(gca,'XTickLabel',labelNames); % gca gets the current axis
set(gca,'YTickLabel'labelNames); % gca gets the current axis
Leider AFAIK, so dass der Text vertikale Etiketten, wie sie in Ihrer Figur is a bit harder sind. Vielleicht hat jemand anders das Gegenteil.
Sieht aus wie Ausgabe des Befehls imagesc – bdecaf