精华内容
下载资源
问答
  • 主要介绍了Matplotlib 绘制饼图解决文字重叠的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Matplotlib绘制饼图

    2021-06-10 15:48:36
    Matplotlib绘制饼图 利用Jupter Notebook 绘制饼图,主要介绍如何使用matplotlib库中的各种方法绘制饼图,以及对图形的修饰。 案例以电影的票房数和芝麻信用为载体 案例一:票房数量饼图 # 导入库 import matplotlib...
    Matplotlib绘制饼图

    利用Jupter Notebook 绘制饼图,主要介绍如何使用matplotlib库中的各种方法绘制饼图,以及对图形的修饰。

    案例以电影的票房数和芝麻信用为载体

    案例一:票房数量饼图

    # 导入库
    import matplotlib.pyplot as plt
    
    # 设置字体 雅黑
    plt.rcParams['font.sans-serif'] = ['SimHei']
    
    # 创建图形
    plt.figure(figsize=(20,8),dpi=80)
    
    # 准备数据
    movie_name = ['雷神3∶诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽']
    place_count =[60605,54546,45819,28243,13270,9945,7679,6799,6101,4621]
    
    # 绘制饼图
    plt.pie(place_count,labels=movie_name,autopct='%.2f%%',startangle=90)
    
    # 指定为正圆
    plt.axis('equal')
    
    # 显示图例
    plt.legend(loc='best')
    
    # 添加标题
    plt.title('电影票房饼图')
    
    plt.show()
    

    在这里插入图片描述

    案例二:突出分离饼图的最大区域

    # 导入库
    import matplotlib.pyplot as plt
    
    # 设置字体 雅黑
    plt.rcParams['font.sans-serif'] = ['SimHei']
    
    # 创建图形
    plt.figure(figsize=(20,8),dpi=80)
    
    # 准备数据
    labels='Frogs','Hogs','Dogs','Logs'
    sizes=[15,30,45,10]
    
    # 将最大的部分分离出来
    explode=(0,0,0.1,0)
    
    # 绘制饼图
    
    plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=True,startangle=90)
    
    # 指定为正圆
    plt.axis('equal')
    
    # 增加图例
    plt.legend(loc='best')
    
    plt.show()
    

    在这里插入图片描述

    案例三:芝麻信用失信用户教育水平分布

    # 导入库
    import matplotlib.pyplot as plt
    
    # 设置字体
    plt.rcParams['font.sans-serif'] = ['SimHei']
    
    # 创建图形
    plt.figure(figsize=(20,8),dpi=80)
    
    # 准备数据
    edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
    labels = ['中专','大专','本科','硕士','其他']
    
    # 突出显示最大值(大专)
    explode = [0,0.1,0,0,0]
    
    # 绘制饼图
    plt.pie(edu,explode=explode,labels=labels,autopct='%1.1f%%',shadow=True,startangle=90)
    
    # 指定为正圆
    plt.axis('equal')
    
    # 添加图标题
    plt.title('芝麻信用失信用户教育水平分布')
    
    # 增加图例
    plt.legend(loc='best')
    
    # 显示图形
    plt.show()
    

    在这里插入图片描述

    总结:饼图的绘制主要为了显示各个成份的占比,通过设置explode参数以及shadow阴影设置分离出要突出的一部分。同时需要指定饼图为正圆:plt.axis(‘equal’)。
    展开全文
  • Python matplotlib绘制饼图

    千次阅读 2020-11-14 01:06:35
    Python matplotlib绘制饼图

    Python matplotlib绘制饼图

    继前面使用matplotlib绘制折线图、散点图、柱状图和直方图,本篇文章继续介绍使用matplotlib绘制饼图。

    一、matplotlib绘制饼图

    # coding=utf-8
    import matplotlib.pyplot as plt
    
    
    election_data = {'Biden': 290, 'Trump': 214, 'Others': 538-290-214}
    candidate = [key for key in election_data]
    votes = [value for value in election_data.values()]
    plt.figure(figsize=(10, 10), dpi=100)
    plt.pie(votes, labels=candidate, autopct="%1.2f%%", colors=['c', 'm', 'y'],
            textprops={'fontsize': 24}, labeldistance=1.05)
    plt.legend(fontsize=16)
    plt.title("2020年A国大选票数占比", fontsize=24)
    plt.show()

    运行结果:

    pie(): matplotlib中绘制饼图的函数。第一个参数传入用于绘制饼图的数据列表,其他参数都是关键字参数。labels参数用于设置每个扇形的标签,说明每个扇形的数据归属。autopct参数用于设置饼图中的百分比,一般保留两位小数,传入"%1.2f%%"即可。colors参数用于设置每个扇形的颜色,与数据列表一一对应,传入一个与数据列表长度相等的列表。textprops参数用于设置标签和百分比的字体、大小等,传入一个字典。labeldistance参数用于设置标签与饼图的距离,默认值为1.1。

    饼图将一个圆饼按照各分类的占比划分成多个扇形,整个圆饼代表数据的总量,每个扇形表示该分类占总体的比例大小,所有扇形相加的和等于100%。饼图适用于表示不同分类在总体中的占比情况,通过弧度大小来比较不同分类的占比大小,尤其在需要突出显示其中某一个部分的占比时。

    上面的饼图绘制了2020年A国大选的票数占比情况,可以一目了然地看到候选人的得票占比情况。如果需要突出显示某位候选人的得票占比,可以对饼图进行分离展示。

    二、matplotlib旋转饼图和突出显示

    import matplotlib.pyplot as plt
    
    
    election_data = {'Biden': 290, 'Trump': 214, 'Others': 538-290-214}
    candidate = [key for key in election_data]
    votes = [value for value in election_data.values()]
    plt.figure(figsize=(10, 10), dpi=100)
    explode = (0.1, 0, 0)
    plt.pie(votes, labels=candidate, autopct="%1.2f%%", colors=['c', 'm', 'y'], textprops={'fontsize': 24},
            labeldistance=1.05, explode=explode, startangle=90, shadow=True)
    plt.legend(loc='upper right', fontsize=16)
    plt.title("2020年A国大选票数占比", fontsize=24)
    plt.axis('equal')
    plt.show()

    运行结果:

    在绘制饼图的pie()函数中,explode参数用于设置每个扇形到圆心的距离,传入一个与数据列表长度相等的列表,默认每个扇形到圆心的距离都是0,将想要分离展示的扇形距离设置成一个适合的值,如0.1,即可将该部分突出展示。为了展示效果更好,可以使用startangle参数对饼图进行旋转(如将分离的扇形旋转到左侧),给startangle参数传入一个角度,将饼图逆时针旋转对应的角度,startangle参数表示的是饼图的起始角度,默认为正右方向,即传统的x轴正方形,此方向表示0度,设置起始角度后可以实现旋转的效果。对扇形进行分离展示后,将shadow参数设置为True,给饼图添加阴影,使饼图更立体,饼图切分的效果会更好。

    在对饼图进行分离后,饼图的布局会发生变化,为了控制饼图占用的区域是一个正方形,且避免饼图变成椭圆形,使用axis('equal')函数,传入'equal'参数。

    在上一张饼图的基础上,经过设置后,将获胜者Biden的得票率突出显示,可以更突出地展示获胜者的得票占比。

    三、matplotlib绘制环形饼图

    import matplotlib.pyplot as plt
    
    
    election_data = {'Biden': 290, 'Trump': 214, 'Others': 538-290-214}
    candidate = [key for key in election_data]
    votes = [value for value in election_data.values()]
    plt.figure(figsize=(10, 10), dpi=100)
    explode = (0, 0, 0)
    plt.pie(votes, labels=candidate, explode=explode, autopct="%1.2f%%", colors=['c', 'm', 'y'],
            textprops={'fontsize': 24}, labeldistance=1.05, pctdistance=0.85, startangle=90)
    plt.pie([1], radius=0.7, colors='w')
    plt.legend(loc='upper right', fontsize=16)
    plt.title("2020年A国大选票数占比", fontsize=24)
    plt.axis('equal')
    plt.show()

    运行结果:

    要绘制环形的饼图,在绘制出饼图后,再次调用pie()函数绘制一个更小的纯白饼图即可,先后顺序不能相反。

    在绘制纯白的饼图时,传入只有一个数据的列表,一条数据会占满整个饼图,占比100%,颜色设置为colors='w'。radius参数默认为1,如果第一张饼图的radius参数是1,设置白色饼图的radius参数小于1,得到的白色饼图就会小于第一张饼图。此外不需要设置其他参数,白色饼图不需要显示百分比,不需要显示标签等。

    绘制完成小的白色饼图,环形效果就实现了,还需要调整第一张饼图的百分比的显示位置。在pie()函数中,pctdistance参数用于设置百分比显示离圆心的距离,默认值是0.6,设置环形效果时,可以将pctdistance参数增大,使百分比显示在环形的中间。同时,因为环形饼图是通过遮挡实现的,阴影展示不完全,看起来比较别扭,所以不设置shadow参数,去掉阴影。

     

     

    展开全文
  • 本期,我们将详细学习matplotlib 绘制饼图相关属性的学习,let's go~ 1. 等高线图概述 什么是饼图? 饼图将各项的大小与总项和的比例显示在一个圆里 饼图展示通过不同大小,来确定各项的占比 饼图相.

    前言

    众所周知,matplotlib.pyplot 提供绘制不同表格绘制方法,如使用plot()方法绘制折线,bar()绘制柱

    在matplotlib.pyplot 中还有一种图表用于直观表示占比情况的饼图,在matplotlib官网上也列举出非常多关于饼图的案例。

     

    本期,我们将详细学习matplotlib 绘制饼图相关属性的学习,let's go~

    1. 等高线图概述

    • 什么是饼图?

      • 饼图将各项的大小与总项和的比例显示在一个圆里
      • 饼图展示通过不同大小,来确定各项的占比
      • 饼图相同颜色的数据标记组成一个数据系列
      • 饼图可分为三维饼图、复合饼图、分离饼图
    • 饼图常用场景

      • 饼图可用在需要暂时各个部分构成比
      • 饼图可反映一个维度各项指标占总体的占比情况
      • 饼图适用在只看大体占比,不要数据精度的情况
    • 绘制等饼图步骤

      1. 导入matplotlib.pyplot模块
      2. 准备数据,可以使用numpy/pandas整理数据
      3. 调用pyplot.pie()绘制饼图
      4. 调用axis方法调整x/y轴间距相等
    • 案例展示

      本期,我们将适用饼图来分析操作系统市场占比情况

      • 案例数据准备:使用random.randint产生5个数值

        import numpy as np
        size = np.random.randint(0,100,5)
        复制代码
      • 绘制饼图

        import matplotlib.pyplot as plt\
        
        plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"])
        
        plt.title("手机系统占比分析")
        
        plt.show()
        复制代码

         

    2. 饼图属性

    • 设置饼图的颜色

      • 关键字:colors
      • 可取值选项:None或者颜色列表
      • 颜色列表可以由如下组成:
        • 表示颜色的英文单词:如红色"red"
        • 表示颜色单词的简称如:红色"r",黄色"y"
        • RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式
    • 设置标签

      • 关键字:labels
      • 默认为:None
      • 需要传入列表形式的值
    • 设置突出部分

      • 关键字:explode
      • 默认为:None
      • 需要传入列表数据
      • 如果设置值后,其指定的部分会突出显示
    • 设置填入百分比数值

      • 关键字:autopct
      • 默认为:None
      • 可选择值形式:
        • 格式字符串如:'%1.1f%%'
        • 函数:可以调用函数内容
    • 饼图旋转

      • 从x轴逆时针旋转角度:startangle;默认为0,浮点类型
      • 指定分数方向顺逆时针:counterclock;默认为True,bool类型
    • 设置阴影

      • 关键字:shadow
      • 默认为False
      • 在饼图下绘制出阴影
    • 我们结合第一节的案例添加一些属性,需要显示占比数值,颜色显示指定颜色,突出MAC占比

      plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],
      autopct="%1.1f%%",
      explode=[0,0.1,0,0,0],
      colors=("r","blue","#88c999",(1,1,0),"0.5"))
      复制代码

       

    3. 调整饼图的大小

    我们在实际制作饼图时,会遇到改变饼图的大小,这是我们可以借助饼图属性关键字radius

    • radius:设置饼图半径大小

    除此之外,我们还要使用textprops来控制显示的标签的大小

    plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],autopct="%1.1f%%",
    explode=[0,0.1,0,0,0],
    colors=("r","blue","#88c999",(1,1,0),"0.5"),radius=0.5,textprops={'size':"smaller"})
    复制代码

     

    4. 添加图例

    我们在饼图中显示各项占比情况时,会在图表的旁边添加一组图例说明。

    • pyplot.pie()方法会返回patchee.Wedge列表、文本列表等数据
    • pyplot.legend()方法传入wedge元素和指定的labels标签
    • 同时可以同legend()方法bbox_to_anchor来设置图例的位置
    La = ["Windows","MAC","Linux","Android","Other"]
    
    def f(pct,n):
        num = int(round(pct*np.sum(n)))
        return "{:.1f}%\n{:d}w".format(pct,num)
    
    wedges ,text,autotexts =plt.pie(size,autopct=lambda pct: f(pct,size),
            colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'))
    
    plt.legend(wedges,La,loc="right",bbox_to_anchor=(1,0,0.3,1))
    复制代码

     

    5. 镂空饼图

    在饼图中,我们有时候也用到嵌套镂空的饼图。

    • 嵌套可以多次调用pyplot.pie()方法
    • 镂空可以借助pyplot.pie()属性wedgeprops来进行设置
    • wedgeprops={"width":0.3,"edgecolor":'w'}
    cmap = plt.get_cmap("tab20c")
    plt.pie(size,
             colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'),wedgeprops=dict(width=0.3,edgecolor='w'))
    plt.pie(size,
             colors= cmap(np.arange(3)*5),radius=0.7,wedgeprops=dict(width=0.3,edgecolor='w'),textprops={'size':"smaller"})
    复制代码

     

    总结

    本期,对matplotlib.pyplot 绘制饼图pie()相关属性的学习。在绘制饼图时,我们会根据实际需求改变饼图的大小,嵌套饼图、添加柱状图等图形辅助查看

    以上是本期内容,欢迎大佬们点赞评论,下期见~

    展开全文
  • Python强大的原因之一就在于其开源,有很多优秀的程序员为其提供了...Matplotlib就是其中之一,下面这篇文章主要介绍了python如何利用matplotlib绘制饼图的方法示例,有需要的朋友们可以参考借鉴,下面来一起看看吧。
  • matplotlib绘制饼图

    千次阅读 2019-05-23 18:14:33
    Python数据可视化中在用matplotlib解决问题的时候,通常会遇到以下一些问题: 1.离散型数据都有哪些可用的可视化方法 ...# 饼图绘制 # 导入第三方模块 import matplotlib.pyplot as plt # 构造数据 ed...

    Python数据可视化中在用matplotlib解决问题的时候,通常会遇到以下一些问题:

    1.离散型数据都有哪些可用的可视化方法

    2.数值型的单变量可用哪些图形展示

    3.多维数据之间的图形展现

    4.如何将多个图形绘制到一个画框内

    下面首先教大家如何画饼图:

    代码:

    # 饼图的绘制
    # 导入第三方模块
    import matplotlib.pyplot as plt

    # 构造数据
    edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
    labels = ['中专','大专','本科','硕士','其他']

    # 绘制饼图
    plt.pie(x = edu, # 绘图数据
            labels=labels, # 添加教育水平标签
            autopct='%.1f%%' # 设置百分比的格式,这里保留一位小数
           )
    # 添加图标题
    plt.title('失信用户的教育水平分布')
    # 显示图形
    plt.show()

    结果:

    图中是一个不加任何修饰的饼图,那么如何修饰饼图呢?

    code:

    # 添加修饰的饼图 
    explode = [0,0.1,0,0,0]  # 生成数据,用于突出显示大专学历人群
    colors=['#9999ff','#ff9999','#7777aa','#2442aa','#dd5555']  # 自定义颜色

    # 中文乱码和坐标轴负号的处理
    plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
    plt.rcParams['axes.unicode_minus'] = False

    # 将横、纵坐标轴标准化处理,确保饼图是一个正圆,否则为椭圆
    plt.axes(aspect='equal')
    # 绘制饼图
    plt.pie(x = edu, # 绘图数据
            explode=explode, # 突出显示大专人群
            labels=labels, # 添加教育水平标签
            colors=colors, # 设置饼图的自定义填充色
            autopct='%.1f%%', # 设置百分比的格式,这里保留一位小数
            pctdistance=0.8,  # 设置百分比标签与圆心的距离
            labeldistance = 1.1, # 设置教育水平标签与圆心的距离
            startangle = 180, # 设置饼图的初始角度
            radius = 1.2, # 设置饼图的半径
            counterclock = False, # 是否逆时针,这里设置为顺时针方向
            wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'},# 设置饼图内外边界的属性值
            textprops = {'fontsize':10, 'color':'black'}, # 设置文本标签的属性值
            )

    # 添加图标题
    plt.title('失信用户的受教育水平分布')
    # 显示图形
    plt.show()

    结果:

     

    展开全文
  • 基本饼图 import matplotlib.pyplot as plt import numpy as py fig = plt.figure() labels =['vivo','meizu','huawei','apple'] values=[10,20,50,80] colors=['yellow','red','green','blue'] plt.pie(values,...
  • 本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下。 首先看下演示效果 实例代码: import numpy as np import matplotlib.pyplot as plt # ...
  • classNameList ['动作游戏', '卡牌游戏', '娱乐场游戏', '体育游戏', '街机游戏', '策略游戏', '文字游戏', '模拟游戏', '角色扮演游戏', '桌面游戏'] 2、绘制柱状图 # 保证圆形 plt.axes(aspect=1) plt.pie(x=...
  • 基本饼图 import matplotlib.pyplot as plt import numpy as py fig = plt.figure() labels =['vivo','meizu','huawei','apple'] values=[10,20,50,80] colors=['yellow','red','green','blue'] plt.pie(values,...
  • 五、matplotlib绘制饼图(参数详解)

    千次阅读 2020-07-16 09:46:40
    1、饼图的概念 ...import matplotlib.pyplot as plt import numpy as np plt.rcParams["font.family"] = "kaiti" x = [32,29,15,8,7,9] department = ["市场部","人事部","企划部","财务部","行政部","研发部"]
  • import matplotlib.pyplot as plt %matplotlib inline import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] # 用来显示正常的中文标签 plt.rcParams['axes.unicode_minus'] = F...
  • python使用Matplotlib绘制饼图

    千次阅读 2021-01-14 00:26:55
    startangle=180,wedgeprops=dict(width=0.3,edgecolor="w"),autopct='%1.1f%%') 相关免费学习推荐:python视频教程 以上就是python使用Matplotlib绘制饼图的详细内容,更多请关注gxlcms其它相关文章! 本条技术文章...
  • 相对于半径的比例,默认值为1.1, 如则绘制饼图内侧; startangle:设置饼图的初始摆放角度;默认图是从x轴正方向逆时针画起 radius:设置饼图的半径大小;默认为1 counterclock:是否让饼图按逆时针顺序呈现;默认...
  • Matplotlib 绘制饼图解决文字重叠

    千次阅读 2020-07-23 09:42:52
    在使用Matplotlib 绘制饼图的时候有些时候一些数据的比列太小在饼图呈现的效果不明显 很容易被覆盖,为了解决这个问题以下就是我个人的心得。 【未解决之前呈现的效果】 可以看到这个饼状图其他和硕士这2个部分...
  • matplotlib绘制饼图函数pie的python脚本

    千次阅读 2017-08-21 11:16:46
    #coding=utf8 import matplotlib as mpl import numpy as np import matplotlib.pyplot as ...matplotlib.pyplot.pie函数:画一个饼图 matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=Non
  • 主要介绍了Python matplotlib绘制饼状图功能,结合实例形式分析了Python使用matplotlib模块进行数值运算与饼状图绘制相关操作技巧,需要的朋友可以参考下
  • 又是一次tensorflow课作业来啦,老师要求的是用...使用wxpy从个人微信网页版获取好友信息(不能实现),进行统计分析并使用matplotlib绘制可视化饼图。绘制过程中存在重复的部分要求使用函数封装,实现代码的复用。.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,668
精华内容 2,667
关键字:

matplotlib绘制饼图