在 python 中创建圆形条形图

2023-11-26

我有兴趣在我的项目中使用圆形条形图可视化,但不知道如何用 Python 生成它。请参阅下面的“圆形条形图”含义的示例。数据将以 pandas 系列的形式出现 - 下面的虚拟示例模糊地反映了情节:

A 33
B 62
C 56
D 70

任何想法?

here, using R


您还可以利用被忽略的甜甜圈图:

import matplotlib.pyplot as plt
from matplotlib import cm
from math import log10

labels = list("ABCDEFG")
data = [21, 57, 88, 14, 76, 91, 26]
#number of data points
n = len(data)
#find max value for full ring
k = 10 ** int(log10(max(data)))
m = k * (1 + max(data) // k)

#radius of donut chart
r = 1.5
#calculate width of each ring
w = r / n 

#create colors along a chosen colormap
colors = [cm.terrain(i / n) for i in range(n)]

#create figure, axis
fig, ax = plt.subplots()
ax.axis("equal")

#create rings of donut chart
for i in range(n):
    #hide labels in segments with textprops: alpha = 0 - transparent, alpha = 1 - visible
    innerring, _ = ax.pie([m - data[i], data[i]], radius = r - i * w, startangle = 90, labels = ["", labels[i]], labeldistance = 1 - 1 / (1.5 * (n - i)), textprops = {"alpha": 0}, colors = ["white", colors[i]])
    plt.setp(innerring, width = w, edgecolor = "white")

plt.legend()
plt.show()

输出:

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中创建圆形条形图 的相关文章

  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 将 github 上的包安装到 Spyder 中

    我一直在尝试安装并导入mpl finance来自 github 的包 在我的 Spyder 环境中没有成功 我努力了 pip install e git https github com matplotlib mpl finance git
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • Keras 极高的损失

    我试图通过特征来预测价格 我选择了一个非常简单的模型 但它的工作原理很奇怪 损失函数非常高 我看不出问题出在哪里 这是我的模型 define base model def baseline model create model model
  • 在Java流中添加多个字段(以及条件流操作)

    假设我有这门课 public class Thing private BigDecimal field1 private BigDecimal field2 private BigDecimal otherField1 private Bi
  • php中数组的右旋转

    例如我有一个数组 a 1 2 3 4 5 由此 a 如何获取最后一个并将其设置为第一个 5 1 2 3 4 我如何将最后两个数组变成这样 4 5 1 2 3 您可以结合使用array pop which pops数组的最后一个元素 以及ar
  • 通过 python 在脚本中使用密码 ssh 到远程计算机

    我正在使用远程机器 每次我需要验证文件更新时间时 我都必须使用 ssh 并且有多个脚本可以通过 ssh 连接到远程计算机 我在网上查了一下 但找不到符合我要求的 我试图找到一个使用 ssh 的 python 脚本 并且密码也在脚本中 因为我
  • 始终在 jQuery 自动完成中显示特定选择,即使它与输入不匹配

    我有一个 jQuery 自动完成 jquery ui 版本 1 8 我可以在其中输入一个名称 如果可用 我希望用户从列表中选择一个名称 因为这些是我们数据库中的所有者名称 但是 有时他们需要添加新的所有者名称 在这种情况下 我希望他们从自动
  • 为证书提供 EC 私钥以在 HttpClient C# 中使用

    我有一个可以使用 X509Certificate2 类读取的证书 如下所示 X509Certificate2 证书 new X509Certificate2 certificate pem 但我也有一个EC私钥 这是它的文件内容 BEGIN
  • 如何获取以毫秒为单位的时间差

    我无法解决这个问题 所以我希望有人能提供帮助 我有一首歌曲 歌曲长度以毫秒为单位 我还有以 DATETIME 格式播放歌曲的日期 我想做的是找出歌曲播放时间还剩多少毫秒 Example tracktime 219238 dateplayed
  • requiredFieldValidator 要求用户单击两次

    我有一个简单的网络表单 其中有一个文本框和一个连接到它的RequiredFieldValidator 当触发RequiredFieldValidator错误时 用户必须单击提交两次才能发布表单 第一次单击会清除错误 第二次单击实际上会触发按
  • Java 3 颜色渐变

    我有一个JPanel 我想在其中绘制渐变 我有下面的代码 但只绘制了 2 种颜色的渐变 我想添加第三个 但不知道如何 我想要的是将面板的左上角设置为白色 右上角设置为红色 两个底角设置为黑色 为了实现这一目标 我必须做什么 看起来像这样 p
  • OpenCV Java 将 VideoCapture 与失败的文件绑定

    我使用 OpenCV 2 4 8 和提供的 Windows 64 位 Java jar 到目前为止 我一直在当前环境中充分利用 OpenCV 我无法使用打开视频文件VideoCapture类但是网络摄像头工作正常 以下内容按预期工作vide
  • 从 SASS/LESS 文件中重构和删除未使用的 CSS

    我正在做一个大的工作单页应用程序 backbonejs和rails 它使用 LESS 作为 CSS 预处理器 并且生成的 css 文件已经增长到这样的程度 对于 IE 我们必须将其分成 3 个文件http blesscss com 尽管有工
  • Spring webflux:将http重定向到https

    如何在 spring webflux 中配置 http gt https 重定向 我需要全部http请求被重定向到https 据我了解任何http请求应该有301http 状态响应更改为 http gt https 没有找到任何相关信息文档
  • 需要更快的方法来获取缓冲图像的每个像素的 RGB 值

    获取每个像素的RGB值的最快方法是什么BufferedImage 现在我使用两个来获取 RGB 值for循环如下面的代码所示 但获取这些值花费的时间太长 因为嵌套循环对我的图像总共运行了 479999 次 如果我使用 16 位图像 这个数字
  • 对 HTML 文档进行分页以便使用基于 WebKit 的浏览器进行打印

    Internet Explorer 有打印模板 engine 我可以在哪里使用DEVICERECT元素来表示物理页面 然后使用LAYOUTRECT元素作为矩形视图 使 HTML 文档流入页面并驱动分页 这可以防止行在相邻页面之间的中间被切断
  • 免费、便宜或开源的 UML 和类似 Visio 的工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我们正在寻找免费 廉价或开
  • 在 PHP 中将 unix 时间戳转换为人类可读的日期?

    我有来自 PHP 的时间戳值 1188604800000 当我将时间格式化为人类可读的格式时 如下所示 date m d Y 1188604800000 它打印 05 21 39635 如果我将数字放入在线 Unix 时间戳转换器中 我会得
  • 两个(UIWebView 或 WKWebView)单独的 cookie 存储

    我想在不同的地方登录同一网站的多个帐户webView 例如我有Tab Bar Controller其中包含三个视图控制器和每个视图控制器包含webView 例如我嵌入stackoverflow网址为webView在每个班级 用户如何使用这三
  • 调用 platformBrowserDynamic().bootstrapModule(@NgModule) 返回 ASSERTION ERROR 传入的类型不是 NgModuleType,它没有 'ɵmod' 属性

    我对 platformBrowserDynamic bootstrapModule app app module 调用有问题 错误消息是 未捕获错误 断言错误 传入的类型不是 NgModuleType 它没有 mod 属性 但是我可以在调试
  • 如何将两个CSS类应用到单个元素[重复]

    这个问题在这里已经有答案了 我可以在一个课程中申请2个课程吗div or span或任何 HTML 元素 例如 a class c2 aa a 我尝试过 就我而言c2没有得到应用 我怎样才能同时申请两个课程 1 在class属性内使用多个类
  • 在 python 中创建圆形条形图

    我有兴趣在我的项目中使用圆形条形图可视化 但不知道如何用 Python 生成它 请参阅下面的 圆形条形图 含义的示例 数据将以 pandas 系列的形式出现 下面的虚拟示例模糊地反映了情节 A 33 B 62 C 56 D 70 任何想法