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的Tornado框架实现数据可视化的教程
May 02 Python
python实现多线程抓取知乎用户
Dec 12 Python
人机交互程序 python实现人机对话
Nov 14 Python
Python 查看文件的编码格式方法
Dec 21 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
Nov 30 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
python爬取微信公众号文章的方法
Feb 26 Python
10款最好的Python开发编辑器
Jul 03 Python
学习Django知识点分享
Sep 11 Python
python openssl模块安装及用法
Dec 06 Python
Django url 路由匹配过程详解
Jan 22 Python
Python软件包安装的三种常见方法
Jul 07 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 print EOF实现方法
2009/05/21 PHP
php eval函数用法总结
2012/10/31 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
PHP中的事务使用实例
2015/05/26 PHP
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
Python和C/C++交互的几种方法总结
2017/05/11 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
KEETSA环保床垫:更好的睡眠,更好的生活!
2016/11/24 全球购物
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
高中语文教学反思
2014/01/16 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
青年文明号服务承诺
2014/03/31 职场文书
交通事故协议书
2014/04/15 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
委托收款证明
2015/06/23 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server