一、引言

在做数据可视化过程中,圆饼统计图因其直观效果好而被广泛采用。Matlab提供了pie和pie3来绘制圆饼统计图。为了让圆饼统计图显示的显示信息更丰富,可以增加某一块的分离突出显示,也可以显示数据项的标识符,或者突出显示某个数据项的标识符。

二、pie

基本语法:

pie(X)
pie(X,labels)
pie(X,explode)
pie(X,explode,labels)

其中X表示已知的数据,explode表示哪个或哪几个数据项需要突出显示,labels表示每个数据项的标识字符串,必须是字符向量元胞数组。
示例1:已知一组数据中每个数据项的次数,根据数据项的次数绘制预案并统计图

t=[ 1 5 3 ]
pie(t)

运行结果为:

示例2:在示例1的基础上增加数据项的标识

t=[ 1 5 3 ]
label = { 'dog', 'hot', 'log' };%此处必须是细胞数组
pie( t, label )

运行结果为:

此时可以看到示例1运行结果中的百分比换为了数据项的标识。
示例3:在示例2的基础上突出显示第1项数据项的标识

t=[ 1 5 3 ]
label = { 'dog', 'hot', 'log' };%此处必须是细胞数组
h = pie( t, label )%画图同时获得图形句柄
%对第一个数据项的标识进行突出显示
s = h(2);%对本题,句柄实际包含6项,其中偶数项是数据项的标识
s.BackgroundColor = 'b';
s.EdgeColor = 'r';
s.FontSize = 20;

运行结果为:


示例4:在示例1的基础上增加数据项3的突出显示

t=[ 1 5 3 ]
ex = [ 0, 0, 1 ];%非0的位置突出显示
pie( t, ex )

运行结果为:

从运行结果可以看出数据项3突出显示了。

示例5:在示例2的基础上增加数据项1的突出显示

t=[ 1 5 3 ]
label = { 'dog', 'hot', 'log' };%此处必须是细胞数组
ex = [ 1, 0, 0 ];%非0的位置突出显示
pie( t, ex, label )

运行结果为:

从运行结果可以看出数据项1突出显示了。

示例6:给定一组数据(数值型),统计其中没个数据项出现的次数,据此绘制圆饼统计图,
1)首先随机生成一组数据,并取整

t = rand( 1, 20 );
t = fix(t * 10);

2)统计不同的数据及其出现的次数

ua =  unique(t) %统计不同的数据
stat = hist( t, ua ) %统计每个数据出现的次数

3)绘制圆饼统计图

pie( stat )

4)在圆饼统计图上显示每个数据项的数字

utC = string( ut ) %将ut转换成字符串数组
dataC = cellstr( utC )%将字符串转换成字符向量元胞数组

5)绘制带有标识的圆饼统计图

pie( stat, utC )

6)指定某第三分之一位置的数据项突出显示

len = length( ut )
ex = zeros( size(ut) );
loc = fix( len / 3 )
ex( loc ) = 1;
pie( stat, ex, utC )

7)完整代码及运行结果如下:

clear all
clc
format compact
t = rand( 1, 20 );
t = fix(t * 10);
ut =  unique(t)
stat = hist( t, ut )
pie( stat )
figure;
utC = string( ut )
dataC = cellstr( utC )
pie( stat, utC )
figure;
len = length( ut )
ex = zeros( size(ut) );
loc = fix( len / 3 )
ex( loc ) = 1;
pie( stat, ex, utC )

运行结果:



三、pie3

其用法与pie用法一样,只是显示结果是三维图。
示例7:把示例2和示例4改用pie3实现

clear all
clc
t=[ 1 5 3 ]
label = { 'dog', 'hot', 'log' };%此处必须是细胞数组
h1 = pie3( t, label )%画图同时获得图形句柄
%对第一个数据项的标识进行突出显示
s = h1(4);%对本题,句柄实际包含12项,其中第4、8、12项是数据项的标识
s.BackgroundColor = 'b';
s.EdgeColor = 'r';
s.FontSize = 20;figure;
ex = [ 0, 0, 3 ];%非0的位置突出显示
h2 = pie3( t, ex, label )
%对第三个数据项的标识进行突出显示
s = h2(12);
s.BackgroundColor = 'y';
s.EdgeColor = 'r';
s.FontSize = 20;

运行结果:


Matlab绘制圆饼统计图pie的用法详解相关推荐

  1. matlab 调整灰度,matlab灰度图像调整及imadjust函数的用法详解

    matlab--imadjust函数作用: 对进行图像的灰度变换,即调节灰度图像的亮度或彩色图像的颜色矩阵 在MATLAB中,通过函数imadjust()进行图像灰度的调整,该函数调用格式如下: J= ...

  2. matlab对图像进行gamma变换_matlab灰度图像调整及imadjust函数的用法详解

    matlab--imadjust函数作用: 对进行图像的灰度变换,即调节灰度图像的亮度或彩色图像的颜色矩阵 在MATLAB中,通过函数imadjust()进行图像灰度的调整,该函数调用格式如下: J= ...

  3. matlab绘制圆,且求解两个圆的交点坐标

    前言 这里简单记录下对于matlab绘制圆,以及求解两圆交点的坐标的实现(包括C++). 一 绘制圆 circle.m文件: function [] = circle(x, y, r, color) ...

  4. matlab图像处理常见函数及用法详解

    matlab图像处理常见函数及用法详解 -- 整理于2022.12.2 ,23.05-- clc;clear;%% 图片读取 RGB = imread('1.jpg'); % 图片读取 imshow( ...

  5. matlab中采样函数,matlab采样相关函数用法详解

    matlab采样函数(降采样,过采样,减采样函数)用法详解 dyaddown 功能:对时间序列进行二元采样,每隔一个元素提取一个元素,得到一个降采样时间序列. 格式: 1.y = dyaddown(x ...

  6. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  7. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  8. Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了

    Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了 1. 单图单线 2. 单图多线不同样式(红色圆圈.蓝色实线.绿色三角等) 3. 使用关键字字符串绘图(data 可指定依赖值为: ...

  9. python控制画笔尺寸,Python画笔的属性及用法详解

    画笔有颜色.画线的宽度等属性. 1.turtle.pensize():设置画笔的宽度: 2.turtle.pencolor():没有参数传入返回当前画笔颜色:传入参数设置画笔颜色,可以是字符串如&qu ...

  10. python 折线图 尾部_Matplotlib 折线图plot()所有用法详解

    散点图和折线图是数据分析中最常用的两种图形.其中,折线图用于分析自变量和因变量之间的趋势关系,最适合用于显示随着时间而变化的连续数据,同时还可以看出数量的差异,增长情况. Matplotlib 中绘制 ...

最新文章

  1. 2015年度打榜之数据备份硬件
  2. 【转图】从可乐到NIKE 经典logo的web2.0版
  3. Ubuntu 虚拟机空间不足增加空间笔记
  4. iis启动默认页无法访问错误类型500的解决
  5. Android NDK学习笔记5:引用类型管理
  6. W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
  7. 计算质数通过分区(Partition)提高Spark的运行性能(转载+自己理解)
  8. FlatBuffers要点
  9. 状态管理技术~~Session
  10. 2014东师计算机应用基础离线作业,2014秋东师《计算机应用基础》离线作业及答案...
  11. Box2D实现Super Mario之关键技术分析——mario下蹲通过低矮障碍物
  12. [原创]ASP.net 2.0 ObjectDataSource 应用操作代码实例(1)-—访问SQL2005
  13. 事不拖,一勤天下无难事。
  14. 关于错误:不能将licenses.licx文件转换成二进制,error lc0003 !
  15. 阵列信号处理及matlab实现,《阵列信号处理的理论和应用》(pdf+程序)
  16. 国产操作系统--NeoKylin基本操作命令汇总(一)
  17. 利用Powergui进行FFT Analysis,信号源为空解决方法
  18. 天敏G10数位板安装完PS无压感,观看此教程
  19. 半导体产业的根基:晶圆是什么
  20. tp打印服务器修改ip,tp打印服务器和网络打印机安装方法.docx

热门文章

  1. C#初学者教程系列3:Hello World:第一个控制台应用程序
  2. 无线信道模型分类和建模方法介绍--附思维导图
  3. Java Programming Review 02
  4. 音频处理之回声消除及调试经验
  5. MATLAB一元三次求极值,MATLAB实现一元三次方程求解/盛金公式
  6. java简历包装项目经验,项目实战
  7. G002-186-17
  8. win11字体模糊不清怎么办 windows1字体模糊不清的解决方法
  9. mt管理器图片在哪个文件夹_MT管理器构造(新手小白教程)-小白文件管理器
  10. LM2596S DC-DC可调降压模块