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中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
django框架之cookie/session的使用示例(小结)
Oct 15 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
Python骚操作之动态定义函数
Mar 26 Python
Python爬虫实现爬取百度百科词条功能实例
Apr 05 Python
python跳出双层for循环的解决方法
Jun 24 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
python3操作redis实现List列表实例
Aug 04 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 strtr() 函数使用说明
2008/11/21 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
python网络爬虫采集联想词示例
2014/02/11 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python实现统计代码行数的小工具
2019/09/19 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
竞选演讲稿范文
2013/12/28 职场文书
初中数学教学反思
2014/01/16 职场文书
领导接待方案
2014/03/13 职场文书
法人代表委托书
2014/04/04 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
讲党性心得体会
2014/09/03 职场文书
立项申请报告范本
2015/05/15 职场文书
趣味运动会简讯
2015/07/20 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
15个值得收藏的JavaScript函数
2021/09/15 Javascript