create empty pie chart (or not generate the graph)

2 visualizzazioni (ultimi 30 giorni)
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)?

Risposta accettata

Voss
Voss il 1 Dic 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 Commenti
Alberto Acri
Alberto Acri il 1 Dic 2023
yes, that's good. Can I ask if the legend can be moved a little to the left, for example?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Tag

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by