import osimport pandas as pd
import matplotlib.pyplot as plt
import random
import numpy as np# 获取渐变色的list
def gradual(number):colors = []h = 0.00001gradual2 = random.uniform(0, 1)r = gradual2if gradual2 >= 0.5:g = hb = gradual2else:g = gradual2b = hcolors.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'] = Falseplt.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 labelax = plt.subplot(1, 1, 1)# loc是位置,bbox_to_anchor是位置坐标,borderaxespad将图例放外面  frameon=False去掉图例边框# bbox_to_anchor 的y坐标y = -1 / 40 * len(labels) + 0.5ax.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画环形图相关推荐

  1. python画环形图_Python通过matplotlib画双层饼图及环形图简单示例

    摘要:这篇Python开发技术栏目下的"Python通过matplotlib画双层饼图及环形图简单示例",介绍的技术点是"matplotlib.Python.简单示例.饼 ...

  2. python画环形图_用Python把图做的好看点:用Matplotlib画个环形图

    P老板:小Lo啊,你觉得这几个图好看吗 我:好看,好看 P老板:我也觉得,这个月的月报,就用这个把,你给我几个,我看看 我:..... 于是乎,我们今天的目标是什么!!! 画个环形图!!! 今天,我们 ...

  3. 用python画渐变的圆_python画环形图的方法

    本文实例为大家分享了python画环形图的具体代码,供大家参考,具体内容如下 import os import pandas as pd import matplotlib.pyplot as plt ...

  4. python 画三维函数图-Python画三维图-----插值平滑数据

    一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...

  5. python画折线图代码-python画折线示意图实例代码

    python画折线图方法 前做PPT要用到折线图,嫌弃EXCEL自带的看上去不好看,就用python写了一个画折线图的程序. import matplotlib.pyplot as plt x=[1, ...

  6. python画折线图详解-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

  7. python画折线图详解-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  8. python画超长图-利用Python画图,千变万化,各种画图技巧!

    如图所示,利用Python的turtle画了一个美国队长盾牌的标志: # 所需依赖:python3 sublime Python代码: # print 打印 print('hello world!') ...

  9. python画折线图-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

最新文章

  1. [Objective-C] 如何定义Block(块)
  2. Sparkle: a free framework to automatically check for updates
  3. python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法
  4. 洛谷 P1197 [JSOI2008]星球大战
  5. 深度学习(17)TensorFlow高阶操作六: 高阶OP
  6. 第二周linux微职位
  7. 查看/提取某文件夹中所有文件
  8. 马斯克:2020 年底将完成 L5 级别自动驾驶功能
  9. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引
  10. ios 嗅探资源 浏览器_全网视频嗅探 APP
  11. Tableau Online免费注册试用
  12. 连续亏损的哈啰,转型多元化困难重重
  13. html5shiv 无效,解决低版本IE关于html5新特性的兼容性问题html5shiv.js和Respond.js
  14. 对JS中this的理解
  15. 12级计算机动画制作专业,计算机专业技术12级是什么意思?
  16. Ubuntu下快捷方式图标存放位置
  17. 选择任意你熟悉的编程语言开发一个C/S、B/S、B/A/S或基于移动设备的民航售票系统,实现基本功能
  18. 全球及中国DIN筒夹行业运营前景与投资决策建议报告2022版
  19. 连续子串最大和——python实现
  20. View之背景虚化处理(头像作为背景模糊化处理)

热门文章

  1. 一文搞懂蓝绿部署和金丝雀发布
  2. mysql 异地备份脚本_MySQL异地备份脚本
  3. 牛客-js练习|错题本+知识点总结-break、try...catch...finally(01)
  4. 智慧城市构建的核心问题:数据信息的安全性与隐私性
  5. 测试开发,测试架构师为什么能拿50 60k呢需要掌握哪些技能呢
  6. 看表情读情绪:AI“察言观色”背后的表情识别数据
  7. 如何快速开发实用的应用软件?
  8. 区块链游戏常见的 10 种分类
  9. window中的cmd中设置别名(alias)及设置快捷键打开cmd
  10. 3dmax2022 导不出datasmith格式文件