如何使用 matplotlib 为烛台的灯芯部分着色?

2023-12-22

我正在寻找使用 matplotlib 将烛台的灯芯部分变成黑色?我在文档中找不到任何提及它的内容,但我已经看到图片示例表明它可以完成。

这是我目前拥有的:

这是灯芯被涂成黑色的示例:

Update:

我使用了下面提供的解决方案,但稍微更改了代码以删除烛台主体区域上的垂直线:

from matplotlib.lines import Line2D
from matplotlib.patches import Rectangle


def blackwickcandlestick(ax, quotes, width=0.2, colorup='#00FF00', colordown='#FF0000',
                         alpha=1.0, shadowCol='k', ochl=True):

    OFFSET = width / 2.0

    lines = []
    patches = []
    for q in quotes:
        if ochl:
            t, open, close, high, low = q[:5]
        else:
            t, open, high, low, close = q[:5]

        if close >= open:
            color = colorup
            lower = open
            height = close - open
            vline = Line2D(
                xdata=(t, t), ydata=(low, high),
                color=colorup,      # This changed from the default implementation
                linewidth=0.5,
                antialiased=True,
                )
        else:
            color = colordown
            lower = close
            height = open - close
            vline = Line2D(
                xdata=(t, t), ydata=(low, high),
                color=colordown,      # This changed from the default implementation
                linewidth=0.5,
                antialiased=True,
                )


        rect = Rectangle(
            xy=(t - OFFSET, lower),
            width=width,
            height=height,
            facecolor=color,
            edgecolor=color,
        )
        rect.set_alpha(alpha)

        lines.append(vline)
        patches.append(rect)
        ax.add_line(vline)
        ax.add_patch(rect)
    ax.autoscale_view()

    return lines, patches


import matplotlib.finance as mpl_finance

mpl_finance._candlestick = blackwickcandlestick

重写完整的candlestick_ohlc似乎过于复杂。您只需迭代函数返回的行并将其颜色设置为黑色即可。您还可以设置zorder让灯芯出现在盒子下方。

lines, patches = candlestick_ohlc(ax, quotes, width=0.5)
for line, patch in zip(lines, patches):
    patch.set_edgecolor("k")
    patch.set_linewidth(0.72)
    patch.set_antialiased(False)
    line.set_color("k")
    line.set_zorder(0)

如果要在脚本中经常使用它,当然可以将其放在函数中。

def candlestick_ohlc_black(*args,**kwargs):
    lines, patches = candlestick_ohlc(*args,**kwargs)
    for line, patch in zip(lines, patches):
        patch.set_edgecolor("k")
        patch.set_linewidth(0.72)
        patch.set_antialiased(False)
        line.set_color("k")
        line.set_zorder(0)

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

如何使用 matplotlib 为烛台的灯芯部分着色? 的相关文章

  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 稀有对象的 python 类型注释,例如 psycopg2 对象

    我了解内置类型 但是我如何指定稀有对象 例如数据库连接对象 def get connection and cursor gt tuple psycopg2 extensions cursor psycopg2 extensions conn
  • 多处理中的动态池大小?

    有没有办法动态调整multiprocessing Pool尺寸 我正在编写一个简单的服务器进程 它会产生工作人员来处理新任务 使用multiprocessing Process对于这种情况可能更适合 因为工作人员的数量不应该是固定的 但我需
  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • 创建上下文后将 jar 文件添加到 pyspark

    我正在笔记本上使用 pyspark 并且不处理 SparkSession 的创建 我需要加载一个包含一些我想在处理 rdd 时使用的函数的 jar 您可以使用 jars 轻松完成此操作 但在我的特定情况下我无法做到这一点 有没有办法访问sp
  • 使用 Paramiko 进行 DSA 密钥转发?

    我正在使用 Paramiko 在远程服务器上执行 bash 脚本 在其中一些脚本中 存在与其他服务器的 ssh 连接 如果我只使用 bash 不使用 Python 我的 DSA 密钥将被第一个远程服务器上的 bash 脚本转发并使用 以连接
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • python 中的 <> 运算符有什么作用?

    我刚刚遇到这个here http www feedparser org feedparser py 总是这样使用 if string1 find string2 lt gt 1 pass 什么是 lt gt 运算符这样做 为什么不使用通常的
  • Plotly:如何检查基本图形结构(版本 4)

    对于旧版本的plotly 例如在 Jupyterlab 中 您可以简单地运行figure像这样检查你的图形的基础知识 Ouput data marker color red size 10 symbol 104 mode markers l
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • 使用 PIL 在 Tkinter 中显示动画 GIF

    我正在尝试制作一个程序来使用 Tkinter 显示动画 GIF 这是我最初使用的代码 from future import division Just because division doesn t work right in 2 7 4
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • 如何获取pandas中groupby对象中的组数?

    我想知道有多少个独特的组需要执行计算 给定一个名为 groupby 的对象dfgroup 我们如何找到组的数量 简单 快速 Pandaic ngroups 较新版本的 groupby API pandas gt 0 23 提供了此 未记录的
  • 如何使用 python 定位和读取 Data Matrix 代码

    我正在尝试读取微管底部的数据矩阵条形码 我试过libdmtx http libdmtx sourceforge net 它有 python 绑定 当矩阵的点是方形时工作得相当好 但当矩阵的点是圆形时工作得更糟 如下所示 另一个复杂问题是在某
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • 使用泛型类型构造函数时,Null (?) 运算符返回不正确的值。网络

    使用通用类型和空运算符时 我遇到一些奇怪的行为 为什么 obj2 CurrentDate 返回的日期值在使用时看起来不正确 简写 如果我在属性中长期使用 null 运算符 if 那么它会返回正确的预期值 我以为 相当于 if 表达式 ret
  • 配置 Kafka 以接受来自 Docker 内部和外部的客户端

    我正在 Docker 网络中运行 Apache Kafka Kafka Broker 的容器称为 docker kafka 我想要的是允许来自另一个 docker 容器以及 docker 主机的 Kafka 客户端的连接 docker ka
  • 复制关系表数据

    我希望我在这个问题上不会太啰嗦 我只是想确保我所问的内容完全清楚 我认为这相当令人困惑 我有一个数据库 其中有一堆表 并且设置了所有外键约束 关系有时会深达几张表 并且也存在子级与多个父表相关的情况 我想插入 顶级 表行之一的副本以及与其相
  • 体系结构 x86_64 的未定义符号:OS X、Boost Log、CMake

    链接的另一个问题 操作系统 X 10 9 5 x64 跨平台项目正在使用 CMake 工具链构建 使用升压 将所有可执行文件与 Boost Log 链接时出错 确实找到了 BOOST PATH 单元测试与 Boost Test 成功链接 第
  • Java - 通过浏览器/URL 连接到 ServerSocket

    我正在编写一个软件 并且受到无法使用套接字连接到使用 ServerSocket 的 java 应用程序的限制 我想我应该尝试使用 URL 连接 因为可以定义要连接到的端口 e g 127 0 0 1 62666 我的服务器应用程序正在侦听连
  • 无法建立到服务器的链接

    一个非常简单的插入函数 它给出了一些令人讨厌的错误 Like Warning mysql query Access denied for user one com using password NO in customers be be h
  • 编写一个程序来抓取论坛

    我需要编写一个程序来抓取论坛 我应该使用 Scrapy 框架用 Python 编写程序还是应该使用 Php cURL 还有与 Scrapy 相当的 Php 吗 Thanks 我会选择 Python 因为它具有卓越的 libxml2 绑定 特
  • 如何从unix连接到oracle数据库

    我正在尝试从我的 UNIX 机器连接到 Oracle 数据库 总的来说 我对剧本写作很陌生 我知道如何浏览unix并编写了基本脚本 读取 显示 并使用bash命令执行它们 我还知道如何查看 unix 中的变量 用户和系统 你能告诉我需要做什
  • Django 多项选择字段/复选框选择多个

    我有一个 Django 应用程序 想要在用户的个人资料中显示多项选择复选框 然后他们将能够选择多个项目 这是我的 models py 的简化版本 from profiles choices import SAMPLE CHOICES cla
  • 根据局部最小值/最大值计算累积增长/下降

    我正在学习 R 及其通过 quantmod lib 在交易任务中的应用 并定期浏览社区 从这里获得很多新知识和技巧 我对 R 的总体印象 特别是 quantmod lib 它非常棒 此时我需要经验丰富的 R 用户的帮助 我正在使用通过 ge
  • 如何将结构化数据保存到文件?

    我的程序包含大量具有恒定输出的预计算 我想避免在下次运行程序时运行此预计算 因此 我想在程序第一次运行时将其输出保存到文件中 并在下次运行程序时加载它 输出包含我自己定义的非常见数据类型 对象和结构 我该如何去做呢 反 序列化 Rust 对
  • 为什么我的测试没有在 Odoo 10 上运行?

    我创建了一个简单的待办事项应用程序 其结构如下 todo app init py manifest py tests init py tests todo py todo model py 在测试文件夹下我有 测试 init py codi
  • 如何向 Chart.js 添加数据集切换?

    我正在使用 Chart js 创建折线图 我想要四个不同的数据集 默认情况下它们都是可见的 但可以通过单击按钮来打开和关闭 如何才能实现这一目标 我似乎无法在文档中找到答案 addData removeData and update all
  • 如何检查命令是否可以执行?

    我有一个脚本将向用户显示一些压缩选项 gzip zip 和 bzip 由于这意味着可以在 Linux 和 Windows 上运行 并且 Zlib 库不可用 因此我必须使用 Unix 命令来压缩任何文件 当然 如果脚本在 Windows 上运
  • 如何使用 T-SQL 进行数据透视表?

    如何从此格式转换表格 Id Data Section 1 1AAA AAA 1 1BBB BBB 1 1CCC CCC 2 2AAA AAA 2
  • Python Websockets 无法通过互联网连接

    我只是想通过互联网获得一个非常基本的 websocket 连接 该代码看起来不错 因为它在连接到本地主机时有效 但由于某种原因 当我尝试通过互联网使用它时失败了 我正在使用网络套接字 https pypi python org pypi w
  • 为 pyspark 设置 SparkContext

    我是新手spark and pyspark 如果有人解释一下到底是什么 我将不胜感激SparkContext参数做什么 我该如何设置spark context对于Python应用程序 See here http spark apache o
  • 为什么 Cloneable 没有被弃用?

    人们普遍认为CloneableJava 中的接口已损坏 造成这种情况的原因有很多 我就不一一列举了 others http howtodoinjava com 2012 11 10 cloneable interface is broken
  • 将生成器对象转换为列表以进行调试[重复]

    这个问题在这里已经有答案了 当我使用 IPython 在 Python 中进行调试时 有时会遇到断点 并且我想检查当前是生成器的变量 我能想到的最简单的方法是将其转换为列表 但我不清楚在一行中执行此操作的简单方法是什么ipdb 因为我对 P
  • 如何使用 matplotlib 为烛台的灯芯部分着色?

    我正在寻找使用 matplotlib 将烛台的灯芯部分变成黑色 我在文档中找不到任何提及它的内容 但我已经看到图片示例表明它可以完成 这是我目前拥有的 这是灯芯被涂成黑色的示例 Update 我使用了下面提供的解决方案 但稍微更改了代码以删