create empty pie chart (or not generate the graph)

2 visualizaciones (últimos 30 días)
Alberto Acri
Alberto Acri el 1 de Dic. de 2023
Comentada: Voss el 1 de Dic. de 2023
Hi! I would like to create empty pie chart (I know it is not very useful).
Using 'pie' does not allow this. so I had thought of generating a circle and placing the legend on the side. Is this possible?
matrix_new = [];
labels = matrix_new(:,1);
percentages = matrix_new(:,2);
figure
p = pie(percentages);
theta = linspace(0,2*pi,500);
line(cos(theta),sin(theta),'Color','k','LineWidth',0.6);
label_str = load("label_str.mat");
lgd.Title.String = "title";
If it's not possibile, how can I make it so that when 'matrix_new' is empty it doesn't generate the graph for me (so don't do anything)?

Respuesta aceptada

Voss
Voss el 1 de Dic. de 2023
Maybe something like this:
matrix_new = [];
figure
if isempty(matrix_new)
% matrix_new is empty: create the circle
theta = linspace(0,2*pi,500);
line(cos(theta),sin(theta),'Color','k','LineWidth',1);
% mimic pie() axes appearance:
axis off
axis equal
else
% matrix new is not empty: create the pie() chart
labels = matrix_new(:,1);
percentages = matrix_new(:,2);
p = pie(percentages);
end
% I'm not sure where this mat file comes from, but it should contain enough
% labels for the data in matrix_new:
label_str = load("label_str.mat");
% create the legend:
lgd = legend(label_str.label_str,'Location','EastOutside');
lgd.Title.String = "title";
  2 comentarios
Alberto Acri
Alberto Acri el 1 de Dic. de 2023
yes, that's good. Can I ask if the legend can be moved a little to the left, for example?
Voss
Voss el 1 de Dic. de 2023
Not sure about that.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by