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 相关文章推荐
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
Python range与enumerate函数区别解析
Feb 28 Python
Python 如何定义匿名或内联函数
Aug 01 Python
分享一个python的aes加密代码
Dec 22 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
Django Paginator分页器的使用示例
Jun 23 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 fckeditor 调用的函数
2009/06/21 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
js的回调函数详解
2015/01/05 Javascript
js动态切换图片的方法
2015/01/20 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
python动态视频下载器的实现方法
2019/09/16 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
CSS3 简写animation
2012/05/10 HTML / CSS
函授自我鉴定
2013/11/06 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
暂住证证明
2015/06/19 职场文书
医院病假条怎么写
2015/08/17 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
深入浅析Django MTV模式
2021/09/04 Python
Golang 结构体数据集合
2022/04/22 Golang
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers