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操作CouchDB数据库简单示例
Mar 10 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
Nov 19 Python
python图书管理系统
Apr 05 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
python中的二维列表实例详解
Jun 19 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
python对象转字典的两种实现方式示例
Nov 07 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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的urlencode()URL编码函数浅析
2011/08/09 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
javascript编写简易计算器
2017/05/06 Javascript
Angular排序实例详解
2017/06/28 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python常用库推荐
2016/12/04 Python
Python PIL图片添加字体的例子
2019/08/22 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
经管应届生求职信
2013/11/17 职场文书
生日主持词
2014/03/20 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
转正申请报告格式
2015/05/15 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
《秋思》教学反思
2016/02/23 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
HTML常用标签超详细整理
2022/03/19 HTML / CSS
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技