iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python如何绘制饼图
  • 496
分享到

python如何绘制饼图

2023-06-29 13:06:43 496人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python如何绘制饼图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用法matplotlib.pyplot.pie(x, explo

小编给大家分享一下python如何绘制饼图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

用法

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, nORMalize=True, data=None)

参数介绍

参数 
x楔形尺寸
explode类似数组,默认值: 无,如果不是无,则是一个len(x)数组,用于指定偏移每个楔块的半径
labels标签列表:默认值:无,为每个楔块提供标签的一系列字符串
colors颜色,默认值:无,饼图循环使用的一系列颜色,如果没有,将使用当前活动周期中的颜色
autopct默认值:无,如果不是无,则是一个字符串或函数,用于用数字值标记楔块.标签将放在楔子内,如果是格式字符串,则标签为fmt%pct,如果是函数,则调用
pctdistance默认值为0.6,每个饼图切片的中心与生成的文本开头之间的比率
shadow默认值为:False,楔块的阴影
labeldistance默认值1.1,绘制饼图标签径向距离,如果设置为’无’,则不会绘制标签,会存储标签以供在图列()中使用
startangle饼图角度起始角度
radius默认值1,饼图的半径,数值越大,饼图越大
counterclock设置饼图的方向,默认值为True,表示逆时针方向,False,为顺时针
wedgeprops默认值:无,传递给楔形对象的参数,设置楔形的属性
textprops设置文本对象的字典参数
center浮点类型的列表,可选参数,图标中心位置
frame是否选择轴框架,默认值为False,如果是True,则绘制带有表的轴框架
rotatelabels默认值为False,布尔类型,如果为True,则将每个标签旋转到相应切片的角度
narmalize布尔类型,默认值为True,如果为True,则始终通过规范化x来制作完整的饼图,使总和(x)=1。如果sum(x)<=1,False将生成部分饼图,并为sum(x)>1引发ValueError。
data可选参数,如果给定,一下参数接受字符串s,该字符串被解释为数据[s]

案例

x

import numpy as npimport maplotlib.pyplot as pltx = [1, 2, 3, 4]plt.pie(x)plt.show()

python如何绘制饼图

explode

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [1, 2, 3, 4]plt.subplot(121)plt.title('正常')plt.pie(x)plt.subplot(122)plt.title('添加explode')plt.pie(x,explode=[0.1,0.2,0.1,0.2])plt.show()

python如何绘制饼图

labels,labeldistance

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(131)plt.title('正常')plt.pie(x)plt.subplot(132)plt.title('添加labels')plt.pie(x,labels=['x1','y1','x2','y2'])# labeldistance默认为是1.1plt.subplot(133)plt.title('添加labels和labeldistance')plt.pie(x,labels=['x1','y1','x2','y2'],labeldistance=1.2)plt.show()

python如何绘制饼图

colors

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [1, 2, 3, 4]plt.subplot(121)plt.title('正常')plt.pie(x)# 颜色参数必须保持和x长度一样plt.subplot(122)colors = plt.get_cmap('Blues')(np.linspace(0.2,0.7,len(x)))print(colors)plt.title('添加colors')plt.pie(x,colors=colors)plt.show()

python如何绘制饼图

autopct

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [1, 2, 3, 4]plt.subplot(131)plt.title('正常')plt.pie(x)plt.subplot(132)plt.title('添加autopct为1.1f')plt.pie(x,autopct='%1.1f%%')plt.subplot(133)plt.title('添加autopct为10.1f')plt.pie(x,autopct='%10.1f%%')plt.show()

python如何绘制饼图

pctdistance

import numpy as npimport matplotlib.pyplot as pltplt.figsize=((10,8))plt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [1, 2, 3, 4]plt.subplot(131)plt.title('正常')plt.pie(x)plt.subplot(132)plt.title('添加pctdistance默认值0.6')plt.pie(x,autopct='%1.1f%%',pctdistance=0.6)plt.subplot(133)plt.title('添加pctdistance值1.5')plt.pie(x,autopct='%1.1f%%',pctdistance=0.8)plt.show()

python如何绘制饼图

pctdistance和autopct设置都可以偏移百分比,一个是同方向偏移,一个是距中心点位置

shadow

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(121)plt.title('正常')plt.pie(x)plt.subplot(122)plt.title('添加shadow')plt.pie(x,explode=(0,0,0.1,0),shadow=True)plt.show()

python如何绘制饼图

startangle

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(121)plt.title('正常')plt.pie(x,autopct='%1.1f%%')# 起始角度设置plt.subplot(122)plt.title('设置startangle=90')plt.pie(x,autopct='%1.1f%%',startangle=90)plt.show()

python如何绘制饼图

radius

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(121)plt.title('正常')plt.pie(x,autopct='%1.1f%%')plt.subplot(122)plt.title('设置radius=0.9')plt.pie(x,autopct='%1.1f%%',radius=0.9)plt.show()

python如何绘制饼图

counterclock

counterclock=False,设置饼图方向为逆方向

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(121)plt.title('正常')plt.pie(x,autopct='%1.1f%%')plt.subplot(122)plt.title('设置counterclock=False')plt.pie(x,autopct='%1.1f%%',counterclock=False)plt.show()

python如何绘制饼图

wedgeprops

设置楔形的属性

wedgeprops传入字典类型,width设置,可以转变为环形图,edgecolor设置其环形边缘颜色

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(121)plt.title('正常')plt.pie(x,autopct='%1.1f%%')plt.subplot(122)plt.title('设置wedgeprops楔形的属性')plt.pie(x,autopct='%1.1f%%',wedgeprops=dict(width=0.3, edgecolor='blue'))plt.show()

python如何绘制饼图

textprops,center,frame

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.family'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsex = [15, 30, 45, 10]plt.subplot(131)plt.title('正常')plt.pie(x,autopct='%1.1f%%')plt.subplot(132)plt.title('设置textprops,center=1.1,frame')plt.pie(x,autopct='%1.1f%%',textprops={'size': 'larger'},center=(1,1),frame=True)plt.subplot(133)plt.title('设置textprops,center=2.2,frame')plt.pie(x,autopct='%1.1f%%',textprops={'size': 'x-large'},center=(2,2),frame=True)plt.show()

python如何绘制饼图

rotatelabels,normalize

这里不多介绍,可根据上述自己检验,很少被用到

举例

取饼图一部分楔形,添加colorbar

import matplotlib.pyplot as pltfrom matplotlib.patches import ConnectionPatchimport numpy as npfig, (ax1, ax2) = plt.subplots(1, 2, figsize=(9, 5))fig.subplots_adjust(wspace=0)ratiOS = [.27, .56, .17]labels = ['Approve', 'Disapprove', 'Undecided']explode = [0.1, 0, 0]angle = -180 * ratios[0]ax1.pie(ratios, autopct='%1.1f%%', startangle=angle,        labels=labels, explode=explode)xpos = 0bottom = 0ratios = [.33, .54, .07, .06]width = .2colors = [[.1, .3, .5], [.1, .3, .3], [.1, .3, .7], [.1, .3, .9]]for j in range(len(ratios)):    height = ratios[j]    ax2.bar(xpos, height, width, bottom=bottom, color=colors[j])    ypos = bottom + ax2.patches[j].get_height() / 2    bottom += height    ax2.text(xpos, ypos, "%d%%" % (ax2.patches[j].get_height() * 100),             ha='center')ax2.set_title('Age of approvers')ax2.legend(('50-65', 'Over 65', '35-49', 'Under 35'))ax2.axis('off')ax2.set_xlim(- 2.5 * width, 2.5 * width)theta1, theta2 = ax1.patches[0].theta1, ax1.patches[0].theta2center, r = ax1.patches[0].center, ax1.patches[0].rbar_height = sum([item.get_height() for item in ax2.patches])# draw top connecting linex = r * np.cos(np.pi / 180 * theta2) + center[0]y = r * np.sin(np.pi / 180 * theta2) + center[1]con = ConnectionPatch(xyA=(-width / 2, bar_height), coordsA=ax2.transData,                      xyB=(x, y), coordsB=ax1.transData)con.set_color([0, 0, 0])con.set_linewidth(4)ax2.add_artist(con)# draw bottom connecting linex = r * np.cos(np.pi / 180 * theta1) + center[0]y = r * np.sin(np.pi / 180 * theta1) + center[1]con = ConnectionPatch(xyA=(-width / 2, 0), coordsA=ax2.transData,                      xyB=(x, y), coordsB=ax1.transData)con.set_color([0, 0, 0])ax2.add_artist(con)con.set_linewidth(4)plt.show()

python如何绘制饼图

环形图

import numpy as npimport matplotlib.pyplot as pltfig, ax = plt.subplots()size = 0.3vals = np.array([[60., 32.], [37., 40.], [29., 10.]])cmap = plt.cm.Set1outer_colors = cmap(np.arange(3)*4)inner_colors = cmap([1, 2, 5, 6, 9, 10])ax.pie(vals.sum(axis=1), radius=1, colors=outer_colors,       wedgeprops=dict(width=size, edgecolor='w'))ax.pie(vals.flatten(), radius=1-size, colors=inner_colors,       wedgeprops=dict(width=size, edgecolor='w'))ax.set(aspect="equal", title='Pie plot with `ax.pie`')plt.show()

python如何绘制饼图

以上是“Python如何绘制饼图”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: python如何绘制饼图

本文链接: https://www.lsjlt.com/news/325048.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python如何绘制饼图
    小编给大家分享一下python如何绘制饼图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用法matplotlib.pyplot.pie(x, explo...
    99+
    2023-06-29
  • python如何绘制饼状图
    小编给大家分享一下python如何绘制饼状图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明用于表示不同分类的比例,通过弧度大小比较各种分类。pie函数可以绘制...
    99+
    2023-06-20
  • 如何利用Python pyecharts绘制饼图
    这篇文章主要为大家展示了“如何利用Python pyecharts绘制饼图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Python pyecharts绘制饼图”这篇...
    99+
    2023-06-22
  • Python+matplotlib如何实现饼图的绘制
    这篇文章主要介绍Python+matplotlib如何实现饼图的绘制,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、整理数据关于cnboo1.xlsx,我放在我的码云里,需要的朋友自行下载:cnboo1.xlsxf...
    99+
    2023-06-29
  • Python+matplotlib绘制饼图和堆叠图
    目录一、pie()函数用来绘制饼图二、一个简单的例子三、 堆叠图饼图常用于统计学模块,画饼图用到的方法为:pie( ) 一、pie()函数用来绘制饼图 pie(x, explode=...
    99+
    2024-04-02
  • Python+matplotlib实现饼图的绘制
    目录一、整理数据二、创建饼图三、爆炸效果四、阴影效果五、为饼图加上百分比六、让饼图旋转不同的角度七、为饼图添加边缘线八、为饼图数据分组一、整理数据 关于cnboo1.xlsx,我放在...
    99+
    2024-04-02
  • R绘制3D饼图
    二维饼图代码如下:#绘制2维饼图 x=read.delim("C:/Users/a/Desktop/sample.txt",header=FALSE) #读入文本数据 names(x)=c("word","count") #加表头 x=tr...
    99+
    2023-01-31
    饼图
  • C#如何绘制饼状图和柱状图
    这篇文章主要介绍C#如何绘制饼状图和柱状图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下#代码如下:using System;using System.Collections;usin...
    99+
    2023-06-29
  • Html5饼图如何绘制实现统计图
    小编给大家分享一下Html5饼图如何绘制实现统计图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这个图是动态生成的,根据传入的比例参数(数组),来动态绘制饼图。饼...
    99+
    2023-06-09
  • Python利用matplotlib实现饼图绘制
    目录前言1. 等高线图概述什么是饼图?饼图常用场景绘制等饼图步骤案例展示2. 饼图属性设置饼图的颜色设置标签设置突出部分设置填入百分比数值饼图旋转设置阴影3. 调整饼图的大小4. 添...
    99+
    2024-04-02
  • Python中matplotlib如何绘制经典的饼图和条形图
    小编给大家分享一下Python中matplotlib如何绘制经典的饼图和条形图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!matplotlib是基于numpy的...
    99+
    2023-06-02
  • python绘制饼图的方法详解
    用法 matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistan...
    99+
    2024-04-02
  • 利用Pythonpyecharts绘制饼图
    目录一、pyecharts绘制饼图语法简介二、绘制普通饼图 三、绘制圆环图 四、绘制饼图-玫瑰图 一、pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比...
    99+
    2024-04-02
  • python绘制饼图和直方图的方法
    本文实例为大家分享了python绘制饼图和直方图的具体代码,供大家参考,具体内容如下 #饼图,常与结构分析结合使用 import pandas import numpy impo...
    99+
    2024-04-02
  • 怎么用python绘制饼图和直方图
    本篇内容介绍了“怎么用python绘制饼图和直方图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#饼图,常与结构分析结合使用import&n...
    99+
    2023-06-30
  • Python数据分析之 Matplotlib 饼图绘制
    前言: 饼状图是用来呈现一个数据系列中各项的大小与各项占项总和的百分比,Matplotlib 提供了plt.pie()方法绘制柱状图,语法格式如下: plt.pie(x, explo...
    99+
    2024-04-02
  • 如何用R语言绘制饼图和条形图
    目录饼图绘制条形图绘制beside 参数 R 语言提供来大量的库来实现绘图功能。 饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系。 R ...
    99+
    2024-04-02
  • Python可视化神器pyecharts绘制饼状图
    目录饼图概念用法优势饼状图系列模板简单多色饼状图(类别可配色)象形饼状图环形饼状图不调色饼状图(大小位置可控制)数据类别大量显示柱状图多饼状图同时显示玫瑰饼状图双图显示环形饼状图(数...
    99+
    2024-04-02
  • Python利用Matplotlib库实现绘制饼形图
    目录1.plt.pie()2. 饼图基本3. 饼状图进阶4. 环形图5. 内嵌环形图1.plt.pie() 饼图 常常用来显示 整体中各部分所占的比例,在python-matplot...
    99+
    2024-04-02
  • QT如何利用QPainter绘制三维饼状图
    这篇“QT如何利用QPainter绘制三维饼状图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“QT如何利用QPainter绘...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作