pyplot/matplotlib 条形图,填充颜色取决于值

2024-04-22

我想生产在Python中使用 matplotlib/pyplot

  • 根据值进行填充的条形图。
  • 图例颜色条

同时将模块依赖性保持在最低限度。

有没有比以下更简单的事情:

import matplotlib.pyplot as plt

def color_gradient ( val, beg_rgb, end_rgb, val_min = 0, val_max = 1):
    val_scale = (1.0 * val - val_min) / (val_max - val_min)
    return ( beg_rgb[0] + val_scale * (end_rgb[0] - beg_rgb[0]),
             beg_rgb[1] + val_scale * (end_rgb[1] - beg_rgb[1]),
             beg_rgb[2] + val_scale * (end_rgb[2] - beg_rgb[2]))

# -----------------------------------------------
x_lbls = [ "09:00", "09:15", "10:10"]
y_vals = [       7,       9,       5]

plt_idx = np.arange( len( x_lbls))
bar_wd  = 0.35

grad_beg, grad_end = ( 0.5, 0.5, 0.5), (1, 1, 0)
col_list = [ color_gradient( val,
                             grad_beg,
                             grad_end,
                             min( y_vals),
                             max( y_vals)) for val in y_vals]

plt.bar( plt_idx, y_vals, color = col_list)
plt.xticks( plt_idx + bar_wd, x_lbls)
plt.show()

这仍然缺少图例颜色条

我在 R 中的解决方案ggplot将会:

library(ggplot2)
df = data.frame( time = 1:10, vals = abs(rnorm( n = 10)))
ggplot( df, aes( x = time, y = vals, fill = vals)) + 
  geom_bar(stat = "identity") + 
  scale_fill_gradient(low="#888888",high="#FFFF00")

and produces the desired output: Example in R with ggplot


我不知道如何在不绘制其他内容然后清除它的情况下让颜色条工作,所以这不是最优雅的解决方案。

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np

y = np.array([1, 4, 3, 2, 7, 11])
colors = cm.hsv(y / float(max(y)))
plot = plt.scatter(y, y, c = y, cmap = 'hsv')
plt.clf()
plt.colorbar(plot)
plt.bar(range(len(y)), y, color = colors)
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyplot/matplotlib 条形图,填充颜色取决于值 的相关文章

  • python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

    我有一组以十进制表示的 GPS 坐标 并且我正在寻找一种方法来查找每个位置周围半径可变的圆中的坐标 这是一个例子 http green and energy com downloads test circle html我需要什么 这是一个圆
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 这段 C# 代码中的“&=”有什么作用?

    我遇到了一些看起来像这样的代码 string someString bool someBoolean true someBoolean someString ToUpperInvariant Equals blah 为什么我要使用按位运算符
  • 将非规范化数字刷新为零

    我在网上搜索过 但没有结果 Xcode 和 Visual C 有没有办法将非规范化数字视为 0 我本以为 IDE 首选项中有一个选项可以打开此选项 但似乎找不到它 我正在做一些跨平台音频工作 需要停止某些处理器占用资源 Cheers 您正在
  • 如何解决这个 sass 插值问题

    警告 您可能不想在此处进行插值时使用颜色值白色 它最终可能会呈现为白色 这可能会产生无效的 CSS 将颜色名称用作字符串或映射键时 请始终引用颜色名称 例如 白色 如果您确实想在此处使用颜色值 请使用 colorName 93 text c
  • 为什么要在 base::split(.$cyl) 中加点?

    在 R 中用于数据科学第21 5 1章 https r4ds had co nz iteration html shortcuts 这个语法用在基函数中split cyl 为什么里面的点 cyl 套餐purrr有一个占位符的语法 or x
  • 使用多个 txt 文件的内容创建数据框

    我是 R 编程新手 在尝试从多个文本文件创建一个数据框时遇到困难 我有一个包含 100 多个文本文件的目录 每个文件都有不同的文件名 但内容具有相似的格式 例如3 列 姓名 年龄 性别 我想将每个文本文件加载到 R 中并将它们合并到 1 个
  • Plotly Scattermapbox,无法向标记添加文本

    我正在尝试将文本添加到下面的绘图中 原始代码修改自https plotly com python lines on mapbox https plotly com python lines on mapbox import plotly g
  • Entity Framework Core 2.0 中每种类型的表

    这些是我的模型 public class Company public int CompanyId get set public string Name get set public string Address get set publi
  • TS2345:类型“number |”的参数未定义' 不可分配给'number' 类型的参数

    我正在尝试在打字稿中创建一个 chrome 扩展 我有以下代码 我尝试从后台脚本向 contentscript 发送消息 background script chrome tabs query active true currentWind
  • 纯 CSS 的 Tab 系统,anchor 避免了向标签的传播

    我正在制作一个仅使用 CSS 的选项卡系统 target and checked伪类 但我在标签内有一个锚点 并且标签不会触发 checked 如果您单击锚点 checked不会触发 因为点击位于 a 标签 但位于 a
  • 如何从sql server触发器操作TEXT、NTEXT数据

    我很难理解 TEXT NTEXT 数据不能从 sql server 触发器进行操作 是真的吗 如果没有 请解释我如何操作 SQL Server 触发器中的 TEXT NTEXT 数据 谢谢 不要使用 text 或 ntext 使用 nvar
  • ANR com.android.vending.billing.IInAppBillingService

    自从修改我的代码以使用 Android 计费库而不是示例应用程序中的旧 IABHelper 以来 我一直通过下面的跟踪收到大量 ANR 有人知道如何解决这个问题吗 跟踪上没有我的一行代码 main prio 5 tid 1 Native g
  • JSON 对象和 Javascript 对象

    我正在创建一个网络应用程序的前端 我收到 JSON 格式的所有响应 解析它并将其作为 html 格式 我查看了一些 javascript MVC 框架 即backbone js ember js 等 发现它们对于我的简单应用程序来说太过分了
  • 有没有带有 API 的 Latex Web 服务? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个 Web 服务 API 接受这种类型的 Latex http 请求 http some web
  • 如何使用 qt 在键盘上仅显示数字

    我在我的项目中使用 Qt Quick Virtual Keyboard 当我单击一个对象时 我想显示键盘但只显示数字 我怎样才能做到这一点 这就是我想做的 您可以使用Qt ImhFormattedNumbersOnly http doc q
  • Malloc 的字符串包含垃圾值

    我刚刚将 Objective C 库转换为 C 库 希望能够跨平台 然而 在我将这件事发送出去进行处理之前 一切似乎都正常 就在我收到错误的时候 回顾一些修改 我注意到调试器中的一些东西 就在 malloc 的字符串之后 如下所示 char
  • 尝试将盒装 dyn 特征传递到函数时出现“借用的值寿命不够长”错误

    我是 Rust 新手 我对借用检查器的行为感到非常困惑 trait Foo fn foo self struct Bar lt a gt pub f a Vec
  • 从选定的单选按钮中选择下一个单选按钮

    我有一个单选按钮组 我想选择所选按钮旁边的一个 document ready function next click function input name choice checked next click button display
  • 使用 Filemerge 如何查看下部窗格。有结果的那个?

    您知道 您进行了全新安装 底部的窗格就消失了 我喜欢那个窗格 看到那个小点 单击它 您可以将窗口拉入视图 现在生活好多了
  • UI-路由器和解析,控制器中的未知提供者

    我在 UI Router state 调用中使用解析 在我的控制器中 我可以毫无问题地访问这些值 但它会抛出错误 如下所示 injector unpr p0 ctrlOptionsProvider 20 3C trlOptions 以下代码
  • pyplot/matplotlib 条形图,填充颜色取决于值

    我想生产在Python中使用 matplotlib pyplot 根据值进行填充的条形图 图例颜色条 同时将模块依赖性保持在最低限度 有没有比以下更简单的事情 import matplotlib pyplot as plt def colo