200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > chart.js 饼图显示百分比_Python怎么画饼图?Matplotlib数据可视化004:饼图

chart.js 饼图显示百分比_Python怎么画饼图?Matplotlib数据可视化004:饼图

时间:2018-09-15 19:21:09

相关推荐

chart.js 饼图显示百分比_Python怎么画饼图?Matplotlib数据可视化004:饼图

前文回看:

【Python菜鸟进阶大神】Matplotlib数据可视化001:基础API汇总&散点图

【Python菜鸟进阶大神】Matplotlib数据可视化002:折线图

【Python菜鸟进阶大神】Matplotlib数据可视化003:条形图

除了条形图可以展示离散变量的情况,还有饼图可以反映离散变量各自的占比情况。

饼图API

官方文档:/api/_as_gen/matplotlib.pyplot.pie.html?highlight=pie#matplotlib.pyplot.pie

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, rotatelabels=False, *, data=None)

x:指定绘图的数据;

explode:指定饼图某些部分的突出显示,即呈现爆炸式;

labels:为饼图添加标签说明,类似于图例说明;

colors:指定饼图的填充色;

autopct:自动添加百分比显示,可以采用格式化的方法显示;

pctdistance:设置百分比标签与圆心的距离;

shadow:是否添加饼图的阴影效果;

labeldistance:设置各扇形标签(图例)与圆心的距离;

startangle:设置饼图的初始摆放角度;

radius:设置饼图的半径大小;

counterclock:是否让饼图按逆时针顺序呈现;

wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等;

textprops:设置饼图中文本的属性,如字体大小、颜色等;

center:指定饼图的中心点位置,默认为原点

frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;

# 构造数据data = [0.2515,0.3724,0.3336,0.0368,0.0057]clas= ['A','B','C','D','E']explode = [0,0.1,0,0,0] # 用于突出显示大专学历人群colors=['blue','red','yellow','green','pink'] # 自定义颜色# 中文乱码和坐标轴负号的处理plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']plt.rcParams['axes.unicode_minus'] = False# 绘制饼图plt.pie(x = data, # 绘图数据 explode=explode, # 突出分裂的部分 labels=clas, # 添加分类标签 colors=colors, # 设置饼图的自定义填充色 autopct='%.1f%%', # 设置百分比的格式,这里保留一位小数 pctdistance=0.6, # 设置百分比标签与圆心的距离 labeldistance = 1.15, # 设置各标签与圆心的距离 startangle = 180, # 设置饼图的初始角度 radius = 2, # 设置饼图的半径 counterclock = False, # 是否逆时针,这里设置为顺时针方向 wedgeprops = {'linewidth': 1.3, 'edgecolor':'green'},# 设置饼图内外边界的属性值 textprops = {'fontsize':15, 'color':'k'}, # 设置文本标签的属性值 center = (0.5,0.5), # 设置饼图的原点 frame = 0 )# 是否显示饼图的图框,这里设置显示

环状饼图

import matplotlib as mplimport matplotlib.pyplot as plt# 设置图片大小plt.figure(figsize = (10, 10))# 生成数据labels = ['A', 'B', 'C', 'D', '其他']share_laptop = [0.45, 0.25, 0.15, 0.05, 0.10]share_pc = [0.35, 0.35, 0.08, 0.07, 0.15]colors = ['blue','red','yellow','green','pink']# 外环wedges1, texts1, autotexts1=plt.pie(share_laptop, autopct = '%3.1f%%', radius = 1, pctdistance = 0.85, colors = colors, startangle = 180, textprops = {'color': 'k'}, wedgeprops = {'width': 0.3, 'edgecolor': 'w'})# 内环wedges2, texts2, autotexts2=plt.pie(share_pc, autopct = '%3.1f%%', radius = 0.7, pctdistance = 0.75, colors = colors, startangle = 180, textprops = {'color': 'k'}, wedgeprops = {'width': 0.3, 'edgecolor': 'k'})# 图例plt.legend(wedges1,labels,fontsize = 12,title = '公司列表',loc = 'best',bbox_to_anchor = (0.9, 0.6))# 设置文本样式plt.setp(autotexts1, size=13, weight='bold')plt.setp(autotexts2, size=13, weight='bold')# plt.setp(r1, size=15)# 标题plt.title('xxx市场份额', fontsize=20)plt.show()

原文链接:

网页链接​mp.

还有好多,原文链接查看历史文章

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。