制作app免费网站模板,机场建设管理投资有限责任公司网站,wordpress前台管理评论,接计设做的网站MATLAB–pie函数绘制复杂分类数据的饼状图 目录 MATLAB--pie函数绘制复杂分类数据的饼状图摘要1. 问题描述2. 具体步骤#xff1a;3. 绘制结果4. 小结 摘要
在数据可视化中#xff0c;饼状图是一种常用的展示分类数据的方式。之前#xff0c;文章介绍了使用MATLAB绘制饼状图…MATLAB–pie函数绘制复杂分类数据的饼状图 目录 MATLAB--pie函数绘制复杂分类数据的饼状图摘要1. 问题描述2. 具体步骤3. 绘制结果4. 小结 摘要
在数据可视化中饼状图是一种常用的展示分类数据的方式。之前文章介绍了使用MATLAB绘制饼状图的入门方法现在博主要填上之前这篇文章里提到的坑啦本文将介绍如何使用MATLAB的pie函数绘制复杂分类数据的饼状图。我们首先生成需要使用的复杂数据然后详细说明了使用pie函数绘制饼状图的具体步骤包括易错点和重点内容。
1. 问题描述
为了方便给大家演示我们从0到1从数据类型和大家开始说明。这里将使用MATLAB生成描述6家上市投资公司在8种投资类别上的复杂数据然后按照投资类别进行分类并计算各公司对各类别企业的投资比例最后绘制饼状图展示结果。 数据类型5家上市投资公司投资若干家类别企业共8种类别对各企业的投资额也不同数据内容包括投资公司、被投资的企业、各企业行业类别、各公司对各企业的投资额。 接下来需要将该投资额数据按照8种投资类别进行分类5个公司对8个类别企业的投资比例以投资额作为计算依据每家公司每种类别占比均不相同。 最后绘制均匀分布的饼状图每张饼图中按照 “类别比例” 的格式 标注各类别及比例数据由于legend相同所以整个figure使用一个legend同时调整字体和figure图幅大小使所有字都清楚展示出来。
2. 具体步骤
投资数据生成 先生成描述5家上市投资公司在8种投资类别上的复杂数据包括投资公司、被投资的企业、各企业行业类别以及各公司对各企业的投资额。
% 生成复杂分类数据
investment_data struct();% 六家上市投资公司名称
company_names {A Corp, B Corp, C Corp, D Corp, E Corp};
investment_data.Company company_names;% 8种投资类别
category_names {Technology, Finance, Healthcare, Real Estate, Manufacturing, Energy, Retail, Transportation};% 为每家公司随机生成对每种类别企业的投资额
for i 1:numel(company_names)for j 1:numel(category_names)investment_data.([Investment_, num2str(j)])(i) {randi([10000, 500000])}; % 随机生成投资额end
end重点 数据采用结构数组 investment_data 保存更方便直观哦分类数据使用元胞cell数据类型。 数据分类处理 将按照8种投资类别对数据进行分类并计算各公司对各类别企业的投资比例。
% 按照投资类别分类并计算投资比例
category_investments zeros(numel(category_names), numel(company_names));
for i 1:numel(category_names)for j 1:numel(company_names)category_investments(i, j) cell2mat(investment_data.([Investment_, num2str(i)])(j));end
end% 计算投资比例
total_investments sum(category_investments, 1);
investment_proportions category_investments ./ total_investments;
绘制饼状图 最后使用MATLAB的pie函数绘制饼状图确保饼图分布均匀并标注各类别及比例数据。 ref代码中部分方法和原理参见博主另一篇文章如何合理布局子图–确定MATLAB的subplot子图位置参数
% 绘制饼状图 采用subplot绘制子图将5家公司的数据绘制在一张figure上
% 给定子图布局参数 具体方法和原理参见博主另一篇文章https://blog.csdn.net/weixin_43323302/article/details/136383424
N 2; % 子图行数
M 3; % 子图列数
subplot_length 3; % 子图高度 比例2:3,3:4,9:16 等
subplot_width 4; % 子图宽度
top_margin 0.4; % 上边界间距
bottom_margin 0.6; % 下边界间距
left_margin 0.6; % 左边界间距
right_margin 0.4; % 右边界间距
gap 0.8; % 子图间隙
% 采用 subplot_params 函数确定子图布局参数要求绘图工整且格式统一的小伙伴可以采用具体方法和原理参见博主另一篇文章https://blog.csdn.net/weixin_43323302/article/details/136383424
[subplot_position,figure_width,figure_length]subplot_params(N,M,subplot_length,subplot_width,top_margin,bottom_margin,left_margin,right_margin,gap);f1figure(Units, inches,Position, [0, 0, figure_width, figure_length]); % 一定要说明单位
set(f1,name,日均启停次数);
fontsize9;
labelmultiplier1.3;
titlemultiplier1.4;
possubplot_position;legend_labels {}; % 存储legend标签for i 1:numel(company_names)labels_text {}; % 存储label标签% 合并标签和比例数据for k 1:numel(category_names)label_text [category_names{k}, (, num2str(100*investment_proportions(k, i), %.1f%%), )];labels_text [labels_text, label_text]; % 添加到label标签中endsubplot(Position,pos(i,:));h pie(investment_proportions(:, i), labels_text);title(company_names{i}); % 添加标题set(gca,FontSize,fontsize,LabelFontSizeMultiplier,labelmultiplier,TitleFontSizeMultiplier,titlemultiplier);end
legend(category_names, Location, bestoutside,FontSize,fontsize); % 设置legend位置 易错点 在使用pie函数时需要将比例数据格式化为字符串并确保格式清晰可读。 重点内容 使用MATLAB的字符串格式化功能将比例数据添加到各类别的标签上。 3. 绘制结果
各家公司、各个投资类别的信息及占比一目了然。第六个位置刚好放legend啦
4. 小结
通过以上步骤使用MATLAB的pie函数绘制了复杂分类数据的饼状图并调整了图形样式以确保数据结果分类的准确度和可视化。希望博主这篇文章能够帮助你更好地利用MATLAB进行数据可视化哦。