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简单遍历字典及删除元素的方法
Sep 18 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
wxPython之解决闪烁的问题
Jan 15 Python
小白如何入门Python? 制作一个网站为例
Mar 06 Python
Python应用库大全总结
May 30 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
python+selenium+chromedriver实现爬虫示例代码
Apr 10 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
Python 实现进度条的六种方式
Jan 06 Python
Python读取pdf表格写入excel的方法
Jan 22 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
通过html表格发电子邮件
2006/10/09 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
thinkphp分页集成实例
2017/07/24 PHP
jquery maxlength使用说明
2011/09/09 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python fileinput模块使用实例
2015/05/28 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
Python如何避免文件同名产生覆盖
2020/06/09 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
普天C++笔试题
2016/03/20 面试题
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
《颐和园》教学反思
2014/02/26 职场文书
银行授权委托书格式
2014/10/10 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
诚实守信主题班会
2015/08/13 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
Golang连接并操作MySQL
2022/04/14 MySQL