create empty pie chart (or not generate the graph)

2 次查看(过去 30 天)
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)?

采纳的回答

Voss
Voss 2023-12-1
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";

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by