How can I create a Risk Matrix Plot?
3 次查看(过去 30 天)
显示 更早的评论
Hello
Let us assume, I have 5 data points:
risk1: severity1 / frequency1 risk2: severity2 / frequency2 … risk5: severity5 / frequency5
Now I use scatter plot to plot the data. I would like to have a plot with different background Color (please see link). A 3x3 risk matrix: cells 1/1 (bottom left), 1/2, 2/1 in green, cells 1/3, 2/2, 3/1 in yellow and cells 2/3, 3/3 (top right) and 3/2 in red.
What is the most appropriate way?
Thank you.
5 个评论
jonas
2018-9-3
编辑:jonas
2018-9-3
You can easily design the coloured matrix and label the grid with imagesc. This is kind of similar to what you are already doing with plot, but you will get a nicer looking matrix. I don't know if there is a built in function, but you may find something on FileExchange
采纳的回答
jonas
2018-9-3
编辑:jonas
2018-9-3
I wrote a template you can use based on imagesc. See attached image for results.
%Define risk matrix 1-3 (1 low - 2 medium - 3 severe)
C=[2 3 3;
1 2 3;
1 1 2];
%Values for each cell
V=[1 2 3;4 5 6;7 8 9]
ax=axes
hold on
%Draw colored grid
[X,Y]=meshgrid(1:size(C,1),1:size(C,2))
h=imagesc(X(:),Y(:),flipud(C))
%Define colors (green, yellow, red)
cmap=[0 1 0;1 1 0;1 0 0];
% Add cell values
str = sprintfc('%d',V(:))
text(X(:),Y(:),str)
% Define row and column labels
RowLabels={'row1','row2','row3'};
ColLabels={'col1','col2','col3'};
% Some axes settings
set(gca,'xtick',unique(X),...
'ytick',unique(Y),...
'yticklabels',RowLabels,...
'xticklabels',ColLabels)
% Add colorbar and describe colors
cb=colorbar(ax,'location','southoutside')
set(cb,'ticks',[1.3 2 2.7],...
'ticklabels',{'Low','Medium','High'},...
'ticklength',0)
box on
set(ax,'layer','top')
colormap(cmap)
5 个评论
Walter Roberson
2022-1-20
Please expand on your question? What is it that you would like to do in 3D ?
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

