Estoy tratando de emular este gráfico: Crear un gráfico de correlación en Matlab
Si tengo una matriz de correlación cómo puedo crear una salida como esta?
Estoy tratando de emular este gráfico: Crear un gráfico de correlación en Matlab
Si tengo una matriz de correlación cómo puedo crear una salida como esta?
Si tiene una matriz de n x n
correlación M
, y un vector L
de longitud n
que contiene la etiqueta para cada bin, se puede usar algo como los siguientes:
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
Rotación de etiquetas del eje X no es trivial , pero el intercambio central de archivos de MATLAB contiene some solutions.
Para la rotación de la etiqueta del eje x, puede hacerlo fácilmente a través de la ventana de figura de matlab: 1. seleccione * mostrar herramientas de trazado y figuras de muelle * desde la barra de herramientas, https: //i.stack .imgur.com/lmiz1.png 2. haga clic en las etiquetas del eje x en la figura https://i.stack.imgur.com/63oKg.png 3. elija * más propiedades ... * desde la ventana que aparece https://i.stack.imgur.com/o8NRm.png 4. Navegue hasta * XTickLabelRotation * y configúrelo 90.0 https://i.stack.imgur.com/FHjz7.png – user1323163
Para representar gráficamente una matriz como una imagen sólo tiene que llamar a dos funciones:
image(myMatrix)
colormap(jet)
La función colormap define el patrón de color que se utiliza para representar la imagen. La imagen que publicaste está usando el mapa de colores "jet".
Y para mostrar la escala de colores junto a la imagen, utilice la función colorbar.
Agregando a la respuesta de @Thomas C. G., que haría uso:
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
Por desgracia, que yo sepa, por lo que el texto Etiquetas verticales, ya que son en su figura is a bit harder. Tal vez alguien más tenga conocimiento de lo contrario.
Parece la salida del comando imagesc – bdecaf