How can I create a Risk Matrix Plot?

3 Ansichten (letzte 30 Tage)
Cyrill Baumann
Cyrill Baumann am 2 Sep. 2018
Kommentiert: Walter Roberson am 20 Jan. 2022
Hello
I would like to plot a 3x3 risk matrix Example: 3x3 risk matrix .
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 Kommentare
Cyrill Baumann
Cyrill Baumann am 3 Sep. 2018
Yes, exactly - a 3x3 frequency-severity-plot.
I have to find out if it works with heatmap. I will try. However, ist there a way of simply define colors of the plot background?
Thanks for your contributions.
jonas
jonas am 3 Sep. 2018
Bearbeitet: jonas am 3 Sep. 2018
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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

jonas
jonas am 3 Sep. 2018
Bearbeitet: jonas am 3 Sep. 2018
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 Kommentare
Phoumsavath souvannalath
Phoumsavath souvannalath am 20 Jan. 2022
how about 3d?
Walter Roberson
Walter Roberson am 20 Jan. 2022
Please expand on your question? What is it that you would like to do in 3D ?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

the cyclist
the cyclist am 3 Sep. 2018
As stated in the comments, you could use the imagesc command, or you could try the patch command to create each section individually.

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by