您当前的位置: 首页 >  matlab

slandarer

暂无认证

  • 0浏览

    0关注

    248博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

教你用MATLAB制作一款最有中秋特色的饼状图——月饼状图

slandarer 发布时间:2021-09-14 19:48:18 ,浏览量:0

0效果: 在这里插入图片描述 在这里插入图片描述

1素材说明: 我们需要在m文件路径下建立名为pic的文件夹,并且在里面放入下面这些图: 在这里插入图片描述 这些月饼图的制作方法参见上一篇: 中秋节快到了,一起用MATLAB绘制一款2.5D月饼叭

2完整代码:

function mmOOnnCCaaKKee

strSet={'蛋黄莲蓉',40/100;
      '抹茶',20/100;
      '紫薯',15/100;
      '鲜肉',15/100;
      '辣椒炒肉',10/100};
  
  
probVal=cell2mat(strSet(:,2));
% 将概率密度函数转换为概率分布函数
for i=2:length(probVal)
    probVal(i)=probVal(i)+probVal(i-1);
end
probVal=[0,probVal'];


path='.\pic\';%文件夹名称
files=dir(fullfile(path,'*.png')); 
picNum=size(files,1);

%遍历路径下每一幅图像
for i=1:picNum
   fileName=strcat(path,files(i).name); 
   [img,~,alp]=imread(fileName);
   imgSet{i}=img;
   alpSet{i}=alp;
end

fig=figure('units','pixels',...
        'position',[20 60 560 560],...
        'Color',[1 1 1]);
ax=axes('Units','pixels',...
        'parent',fig,...  
        'Color',[1 1 1],...
        'Position',[0 0 560,560],...
        'XLim',[0,100],...
        'YLim',[0,100],...
        'XColor','none',...
        'YColor','none');
hold(ax,'on')
ax.YDir='reverse';
ax.XDir='normal';

[nrow,ncol,~]=size(imgSet{1});
[XMesh,YMesh]=meshgrid((1:ncol)-(1+ncol)/2,(1:nrow)-(1+nrow)/2);
%disMesh=sqrt(XMesh.^2+YMesh.^2);
thetaMesh=atan2(YMesh,XMesh)+pi;
thetaMesh=thetaMesh(:,end:-1:1);

for i=1:length(probVal)-1
    boolSet=thetaMesh;
    boolSet=boolSet>probVal(i)*2*pi&boolSet            
关注
打赏
1664692598
查看更多评论
0.0392s