Python数据可视化:饼状图的实例讲解

yipeiwu_com6年前Python基础

使用python实现论文里面的饼状图:

原图:

python代码实现:

 # # 饼状图
 # plot.figure(figsize=(8,8))
 labels = [u'Canteen', u'Supermarket', u'Dorm', u'Others']
 sizes = [73, 21, 4, 2]
 colors = ['red', 'yellow', 'blue', 'green']

 explode = (0.05, 0, 0, 0)

 patches, l_text, p_text = plot.pie(sizes, explode=explode, labels=labels, colors=colors,
          labeldistance=1.1, autopct='%2.0f%%', shadow=False,
          startangle=90, pctdistance=0.6)

 # labeldistance,文本的位置离远点有多远,1.1指1.1倍半径的位置
 # autopct,圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数
 # shadow,饼是否有阴影
 # startangle,起始角度,0,表示从0开始逆时针转,为第一块。一般选择从90度开始比较好看
 # pctdistance,百分比的text离圆心的距离
 # patches, l_texts, p_texts,为了得到饼图的返回值,p_texts饼图内部文本的,l_texts饼图外label的文本

 # 改变文本的大小
 # 方法是把每一个text遍历。调用set_size方法设置它的属性
 for t in l_text:
  t.set_size = 30
 for t in p_text:
  t.set_size = 20
 # 设置x,y轴刻度一致,这样饼图才能是圆的
 plot.axis('equal')
 plot.legend(loc='upper left', bbox_to_anchor=(-0.1, 1))
 # loc: 表示legend的位置,包括'upper right','upper left','lower right','lower left'等
 # bbox_to_anchor: 表示legend距离图形之间的距离,当出现图形与legend重叠时,可使用bbox_to_anchor进行调整legend的位置
 # 由两个参数决定,第一个参数为legend距离左边的距离,第二个参数为距离下面的距离
 plot.grid()
 plot.show()

实现:

以上这篇Python数据可视化:饼状图的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django进阶之CSRF的解决

Django进阶之CSRF的解决

简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而对于django中设置防跨站...

django的settings中设置中文支持的实现

今天创建了个django工程,用的是目前django 1.9.6,创建工程后,settings.py中设置中文显示支持(最简单的,例如把admin界面的默认英文改成中文),定义 TI...

在python中利用numpy求解多项式以及多项式拟合的方法

构建一个二阶多项式:x^2 - 4x + 3 多项式求解 >>> p = np.poly1d([1,-4,3]) #二阶多项式系数 >>> p...

python调用c++传递数组的实例

如下所示: INPUT = c_int * 4 # 实例化一个长度为2的整型数组 input = INPUT() # 为数组赋值(input这个数组是不支持迭代的) input[0]...

python实现异常信息堆栈输出到日志文件

将try except中捕获到的异常信息输出到日志文件中,方便查找错误原因,tranceback模块提供了把详细出错堆栈信息格式化成字符串返回函数format_exc(). 具体代码如下...