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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
python通过scapy获取局域网所有主机mac地址示例
May 04 Python
python查询mysql中文乱码问题
Nov 09 Python
python如何查看系统网络流量的信息
Sep 12 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
Python requests设置代理的方法步骤
Feb 23 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 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用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
详解Vue之事件处理
2020/07/10 Javascript
使用python3.5仿微软记事本notepad
2016/06/15 Python
对Python3中的input函数详解
2018/04/22 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
python实现dijkstra最短路由算法
2019/01/17 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
创业计划书中包含的9个方面
2013/12/26 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
防灾减灾活动总结
2014/08/30 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
库房管理员岗位职责
2015/02/12 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android