python画环形图的方法


Posted in Python onMarch 25, 2020

本文实例为大家分享了python画环形图的具体代码,供大家参考,具体内容如下

import os
 
import pandas as pd
import matplotlib.pyplot as plt
import random
import numpy as np
 
 
# 获取渐变色的list
def gradual(number):
 colors = []
 h = 0.00001
 gradual2 = random.uniform(0, 1)
 r = gradual2
 if gradual2 >= 0.5:
  g = h
  b = gradual2
 else:
  g = gradual2
  b = h
 colors.append((r, g, b, 1))
 for i in range(number - 1):
  # 大于0.5 则为绿色渐变,小于则为蓝色渐变
  if gradual2 >= 0.5:
   g = 1 if ((1 - h) / number) > 1 else (g + (1 - h) / number)
  else:
   b = 1 if ((1 - h) / number) > 1 else (b + (1 - h) / number)
  colors.append((r, g, b, 1))
 return colors
 
 
# 获取绿色的个数,standardRedIndex为要将那个颜色改为红色
def listGreen(number, standardRedIndex):
 colors = []
 for i in range(number):
  if i == standardRedIndex - 1:
   colors.append('r')
  else:
   colors.append('#6CAD4F')
 return colors
 
 
# 画环形图
def circularGraph(outerData, innerData, labels, standardRedIndex):
 data = pd.DataFrame([outerData, innerData], columns=labels)
 # 设置字体这样才可以显示中文
 plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
 plt.rcParams['axes.unicode_minus'] = False
 plt.figure(figsize=(8, 5))
 colors = gradual(len(labels))
 # 数据内环
 plt.pie(data.iloc[1, :], radius=0.65, wedgeprops=dict(width=0.3, edgecolor='w'), colors=colors)
 # 数据外环
 plt.pie(data.iloc[0, :], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'),
   colors=listGreen(len(labels), standardRedIndex))
 # 获取ax label
 ax = plt.subplot(1, 1, 1)
 # loc是位置,bbox_to_anchor是位置坐标,borderaxespad将图例放外面 frameon=False去掉图例边框
 # bbox_to_anchor 的y坐标
 y = -1 / 40 * len(labels) + 0.5
 ax.legend(labels, loc=4, bbox_to_anchor=(1.3, y), borderaxespad=0., frameon=False)
 plt.show()
 
 
circularGraph([30, 30, 20, 40, 20, 20, 40, 20, 20, 40, 20], [30, 30, 20, 40, 20, 20, 40, 20, 20, 40, 20],
    ['甲硫杆菌', '霍尔德曼氏菌属', 'Faecali菌属', '瘤胃菌属', 'Faecali菌属', 'Faecali菌属', '瘤胃菌属', 'Faecali菌属', 'Faecali菌属', '瘤胃菌属', 'Faecali菌属'], 3)

python画环形图的方法

更多精彩内容请点击专题: 《python图片处理操作》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
深入理解python中的select模块
Apr 23 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
python调用webservice接口的实现
Jul 12 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 #Python
Python语法垃圾回收机制原理解析
Mar 25 #Python
python实现Pyecharts实现动态地图(Map、Geo)
Mar 25 #Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 #Python
Django查询优化及ajax编码格式原理解析
Mar 25 #Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 #Python
python实现3D地图可视化
Mar 25 #Python
You might like
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
激活 ActiveX 控件
2006/10/09 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
python 回调函数和回调方法的实现分析
2016/03/23 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
Django模板Templates使用方法详解
2019/07/19 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
项目经理聘任书
2014/03/29 职场文书
环保倡议书怎么写
2014/05/16 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
大专毕业生求职信
2014/07/05 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
债务追讨律师函
2015/06/24 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS