python的matplotlib饼状图

在python的matplotlib画图函数中,饼状图的函数为pie

pie函数参数解读

plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)

  • x:指定绘图的数据;
  • explode:指定饼图某些部分的突出显示,即呈现爆炸式;
  • labels:为饼图添加标签说明,类似于图例说明;
  • colors:指定饼图的填充色;
  • autopct:自动添加百分比显示,可以采用格式化的方法显示;
  • pctdistance:设置百分比标签与圆心的距离;
  • shadow:是否添加饼图的阴影效果;
  • labeldistance:设置各扇形标签(图例)与圆心的距离;
  • startangle:设置饼图的初始摆放角度;
  • radius:设置饼图的半径大小;
  • counterclock:是否让饼图按逆时针顺序呈现;
  • wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等;
  • textprops:设置饼图中文本的属性,如字体大小、颜色等;
  • center:指定饼图的中心点位置,默认为原点
  • frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;

实例

1.基本的画图函数

import matplotlib.pyplot as plt

#解决中文乱码问题

# 正常显示中文标签
plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘]
# 用来正常显示负号
plt.rcParams[‘axes.unicode_minus‘]=False

#刻度的大小
plt.rcParams[‘axes.labelsize‘] = 16

#线的粗细
plt.rcParams[‘lines.linewidth‘] = 2

#x轴的大小
plt.rcParams[‘xtick.labelsize‘] = 14
#y轴的大小
plt.rcParams[‘ytick.labelsize‘] = 14

#图例大小
plt.rcParams[‘legend.fontsize‘] = 14

#图的大小
plt.rcParams[‘figure.figsize‘] = [12,8]

#=======================================#基本的使用实例
#定义饼的标签,
labels = [‘A‘,‘B‘,‘C‘,‘E‘]

#每个标签所占的比例
x  = [15,30,45,10]

#绘制饼图
plt.pie(x,labels=labels)

plt.show()

 注:不加其他参数的使用这个函数,不一定是圆形;而且得到的运行结果根据参数的设置会很大,不建议如此操作。

2.绘制正圆形的饼状图

import matplotlib.pyplot as plt

labels = [‘A‘,‘B‘,‘C‘,‘D‘]

x = [15,30,45,10]

#显示百分比
plt.pie(x,labels=labels,autopct=‘%3.2f%%‘)

#设置x,y的刻度一样,使其饼图为正圆
plt.axis(‘equal‘)

plt.show()

3.绘制饼状图-设置文本标签的属性值

import matplotlib.pyplot as plt

labels = [‘A‘,‘B‘,‘C‘,‘D‘]

x = [15,30,45,10]

#显示百分比
#textprops={‘fontsize‘:18,‘color‘:‘k‘} 设置为字体大小为18,颜色黑色
plt.pie(x,labels=labels,autopct=‘%3.2f%%‘,textprops={‘fontsize‘:18,‘color‘:‘k‘})

#设置x,y的刻度一样,使其饼图为正圆
plt.axis(‘equal‘)

plt.show()

4.饼状图的分离与阴影设置

import matplotlib.pyplot as plt

labels = [‘A‘,‘B‘,‘C‘,‘D‘]

x = [15,30,45,10]

#显示百分比
#饼图分离
explode = (0,0.1,0,0)

#设置阴影效果
plt.pie(x,labels=labels,autopct=‘%3.2f%%‘,explode=explode,shadow=True)

#设置x,y的刻度一样,使其饼图为正圆
plt.axis(‘equal‘)

plt.show()

5.起始角度

import matplotlib.pyplot as plt

labels = [‘A‘,‘B‘,‘C‘,‘D‘]

x = [15,30,45,10]

#显示百分比
#饼图分离
explode = (0,0.1,0,0)

#设置阴影效果
#startangle,为起始角度,0表示从0开始逆时针旋转,为第一块。
plt.pie(x,labels=labels,autopct=‘%3.2f%%‘,explode=explode,shadow=True,startangle=60)

#设置x,y的刻度一样,使其饼图为正圆
plt.axis(‘equal‘)

plt.show()

 6圆心距离与提示标签并保存到本地

import matplotlib.pyplot as plt

labels = [‘A‘,‘B‘,‘C‘,‘D‘]

x = [15,30,45,10]

#显示百分比
#饼图分离
explode = (0,0.1,0,0)

#设置阴影效果
#startangle,为起始角度,0表示从0开始逆时针旋转,为第一块。
#pctdistance,百分比的文本离圆心的距离为0.5
plt.pie(x,labels=labels,autopct=‘%3.2f%%‘,explode=explode,shadow=True,startangle=60,pctdistance=0.8)

#设置x,y的刻度一样,使其饼图为正圆
plt.axis(‘equal‘)
plt.legend()
#保存到本地文件夹
plt.savefig(‘./饼图.png‘)
plt.show()

原文地址:https://www.cnblogs.com/changfan/p/11789680.html

时间: 2024-10-09 12:47:54

python的matplotlib饼状图的相关文章

[Python Study Notes]饼状图绘制

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: 饼状图.py >>作者: liu yang >>邮箱: [email protected] >>博客: www.cnblogs.com/liu66blog '''''''''''''''''''''''''''''''''''''''''''''''

绘制matplotlib 饼状图

参考:https://blog.csdn.net/ScarlettYellow/article/details/80458797 (2)2016年就业人员在三次产业中分布的饼状图. def swap(list): date = [] name = [] for i in range(0,len(list)): date.append(list[i][1]) name.append(list[i][0]) return date, name def fun2(): # 构造数据 industry3

matplotlib饼状图学习小记

import numpy as np import matplotlib.pyplot as plt # 准备数据 labels = ['basketball', 'football', 'volleyball', 'tennis'] # 标签列表 colors = ['#4B0082', '#6A5ACD', '#6495ED', '#778899'] # 颜色列表 sizes = np.random.randint(0, 100, 4) # 随机的数据数组 # 设置每块图形的中心偏离度,按照

matplotlib 饼状图

import matplotlib.pyplot as plt import matplotlib as mpl # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 labels= ["1",'3','2',"4","5"] data = [4000,50,500

python plotly 画饼状图

代码 import pandas as pd import numpy as np import plotly.plotly as py import plotly.graph_objs as go path = '/home/v-gazh/PycharmProjects/us_data/limit_code.csv' df = pd.read_csv(path) df.set_index(['code'], inplace=True) # ST 占比 total_count = len(df)

Matplotlib基本图形之饼状图

Matplotlib基本图形之饼状图 饼状图特点: 饼状图显示一个数据系列中各项大小与各项总和的比例饼状图的数据点显示为整个饼状图的百分比 示例代码 import os import time import numpy as np import matplotlib.pyplot as plt basedir = os.path.dirname(os.path.abspath(__file__)) resultdir = os.path.join(basedir, 'result') class

matplotlib学习日记(五)-各种饼状图的绘制

(一)分裂式饼状图 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False labels = ["A难度水平", "B难度水平", &qu

python 饼状图

https://www.cnblogs.com/liming19680104/p/10614132.htmlimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt #解决能显示中文plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 plt.titl

canvas+js画饼状图

效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>饼状图</title> </head> <body> <canvas id="canvas"></canvas> <script> (function () {