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读取csv文件示例(python操作csv)
Mar 11 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
python3大文件解压和基本操作
Dec 15 Python
Flask实现跨域请求的处理方法
Sep 27 Python
python实现Flappy Bird源码
Dec 24 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
使用Python测试Ping主机IP和某端口是否开放的实例
Dec 17 Python
Python with语句和过程抽取思想
Dec 23 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 Python
Python实现天气查询软件
Jun 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中curl_multi的应用
2013/07/17 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP使用函数用法详解
2018/09/30 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
python实现猜数字小游戏
2020/03/24 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
介绍一下mysql的日期和时间函数
2013/03/28 面试题
举例说明类变量和实例变量的区别
2016/06/30 面试题
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
辞职信范文大全
2015/03/02 职场文书
工程款催款函
2015/06/24 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
Python之matplotlib绘制折线图
2022/04/13 Python
js判断两个数组相等的5种方法
2022/05/06 Javascript
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android