如何使用货币格式化散景 xaxis 刻度

2023-12-20

我正在使用 jupyter 笔记本制作子弹图来比较两个值。该图已渲染,但我想格式化 x 轴刻度以显示货币。 这就是我到目前为止所拥有的......

project = "Rocket"
targetspend = 15000
spend2date = 16600
data = [(project, targetspend, spend2date)]

from bokeh.io import show, output_notebook
from bokeh.plotting import figure

def make_bokeh_spend_bullet(data):
  output_notebook()
  if len(data) ==1:
      ph = 135

  elif len(data) >1 and len(data) < 3:
    ph =165
  else:
    ph = ( 6 * len(data) * 10)


  if data[0][2] < data[0][1] * 2:
    perf = data[0][2]
    limits = [0, data[0][1], data[0][1] *2]
  else:
    perf = data[0][2]
    limits = [0, data[0][1], data[0][2]]

  labels = ["OK", "Over budget", ]
  cats = [x[0] for x in data]

  p=figure(title="Project Spend", plot_height=ph, plot_width=600, y_range=cats)
  p.x_range.range_padding = 0
  p.grid.grid_line_color = None
  p.xaxis[0].ticker.num_minor_ticks = 0
  #p.xaxis[0].ticker.format('$0,0')

  for left, right, color in zip(limits[:-1], limits[1:], OrRd3[::-1]):
    p.hbar(y=cats, left=left, right=right, height=0.8, color=color)


  for x in data:
    if x[2] > x[1]:
      p.hbar(y=cats, left=0, right=perf, height=0.3, color="firebrick")
    else:
      p.hbar(y=cats, left=0, right=perf, height=0.3, color="gray")

  comp = [x[1] for x in data]
  p.segment(x0=comp, y0=[(x, -0.5) for x in cats], x1=comp,
          y1=[(x, 0.5) for x in cats], color="black", line_width=2)

  for start, label in zip(limits[:-1], labels):
    p.add_layout(Label(x=start, y=0, text=label, text_font_size="10pt",
                       text_color='black', y_offset=5, x_offset=15)) 
  return show(p)

output_notebook()

p = make_bokeh_spend_bullet(data)

我读自散景文档 https://bokeh.pydata.org/en/latest/docs/reference/models/formatters.html关于类 NumeralTickFormatter(**kwargs) 但不清楚如何为我的图表使用此格式选项。


不管你信不信,但这似乎只适用于美元货币。我无法让它与欧洲货币符号一起使用。有什么特别的技巧吗?

例如,以下代码正在运行:

    plot.handles['yaxis'].formatter = NumeralTickFormatter(format="0,0 $")

虽然这个不产生任何货币符号:

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

如何使用货币格式化散景 xaxis 刻度 的相关文章

随机推荐

  • 更改活动选项卡视口大小,如开发工具响应视图

    在 Chrome 扩展中 我想更改视口大小 例如 DevTools 响应式视图 我正在调查https developer chrome com extensions tabs type ZoomSettingsMode https deve
  • 删除mysql表中的所有记录[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试从表中删除所有记录 我的查
  • Django:测试页面是否已重定向到所需的网址

    在我的 Django 应用程序中 我有一个身份验证系统 因此 如果我不登录并尝试访问某些个人资料的个人信息 我会被重定向到登录页面 现在 我需要为此编写一个测试用例 我得到的浏览器响应是 GET myprofile data some id
  • 如何在 MySQL 数据库中存储 UTC ISO8601 日期?

    我有数千个以下格式的日期 2011 10 02T23 25 42Z 又名 UTC 格式的 ISO 8601 我应该使用什么 MySQL 数据类型在 MySQL 数据库中存储这样的 ISO8601 日期 例如 Datetime timesta
  • 如何在 Keycloak 中指定刷新令牌的生命周期

    Keycloak 刷新令牌的生命周期为 1800 秒 refresh expires in 1800 如何指定不同的过期时间 在 Keycloak 管理 UI 中 只能指定访问令牌的生命周期 正如评论中指出的 库巴西蒙诺夫斯基 https
  • 为什么要在mvvm中的viewmodel和view上实现一个接口

    我对 MVVM 模式还很陌生 所以请耐心等待 我见过 wpf mvvm prism 中的实现 其中所有视图都倾向于将 IView 作为最顶层的界面 然后 各个模块中的视图都有一个特定于视图的接口 如 IViewA IViewB 等 它们实现
  • 移动 CALayer(添加动画)

    好吧 我有一个 CALayerlayer我想用 CADisplaylink 移动它 喜欢 layer center CGPointMake layer center x 10 layer center y 10 但我不能用center or
  • 为任何方法创建 Func 或 Action(在 C# 中使用反射)

    我的应用程序根据设置动态加载 dll 来自数据库 文件 类和方法名称 为了方便 加速和减少反射的使用 我想要一个缓存 遵循以下想法 MethodInfo Invoke 没有什么表现性的 反射性能 创建委托 C 属性 https stacko
  • ASP.Net MVC:在现有项目上从“无身份验证”更改为“个人用户帐户”

    我正在学习有关 ASP Net MVC 的课程 并且达到了该课程依赖于标准 注册 和 登录 功能的程度 当您在创建项目时选择 个人用户帐户 时 Visual Studio 会自动构建这些功能 显然 较新版本的 Visual Studio 现
  • 如何在异步任务中实现此图像视图?

    我有一个 url 传递给一个活动 我试图全屏显示 url 中的图像 但是它会引发主网络线程异常 据我所知 我相信我必须将该方法放入异步任务中 但我似乎根本无法理解它 那么我该如何将此方法放入异步任务中呢 全屏图像视图 java public
  • PS1 环境变量在 mac 上不起作用

    我有一个脚本 不是我自己写的 它在我的命令提示符中显示 git 分支 svn 分支 有谁知道为什么这在 mac 上不起作用 它在linux下完美运行 From https github com xumingming dotfiles blo
  • Observable .catch 不是一个函数

    从 Unix 环境运行代码时 我遇到了这个非常烦人的错误 当我通过本地运行代码时 这工作正常ng serve 但是当我将代码部署到我的服务器时 此错误会停止所有程序执行 ERROR TypeError this http get catch
  • 如何防止logback/slf4j解析换行符

    我使用 logback 和 SLF4j 来登录我的应用程序 我有一个包含换行符的字符串 它是字符串值的一部分 但并不表示新行 当我打印字符串时 logback 会在新行中打印它 如何防止这种情况发生 Code String str geor
  • Cygwin/bash 别名中的空格?

    我正在尝试为 Cygwin bash shell 设置别名 以运行标准 Windows C Program Files 子目录中包含的程序 不幸的是 alias 命令确实不喜欢目录名称中的空格 而且我尝试过的任何方法似乎都不起作用 我正在尝
  • pymysql fetchall() 结果作为字典?

    有没有办法使用 pymysql 将 fetchall 的结果作为字典获取 PyMySQL 包括一个DictCursor 它做我认为你想要的 使用方法如下 import pymysql import pymysql cursors conne
  • 跨线程的 HTTPContext

    我需要为每个网络请求实例化一个单例对象 以便数据处理一次并在整个请求期间有效 我正在使用HttpContext Current Items在 HTTP 请求期间共享数据 一切都很好 直到我们需要单例对象实例跨多个线程 我想到的第一件事是将
  • C++,在堆上创建的对象与本地创建的对象 - 返回指针时

    这是来自的后续问题在 C 中安全 在 C 中不安全 简单返回指针 引用 https stackoverflow com questions 8456335 safe in c sharp not in c simple return of
  • 模拟继承的受保护方法

    我这里有我的问题的简化版本 A类有一个受保护的方法 B类继承了这个方法 public class A protected String getString some Code public class B extends A public
  • 是否有被认为“安全”的 GHC 扩展列表?

    有时 如果没有至少一种语言扩展 我想编写的一段代码是不合法的 当试图在研究论文中实现想法时尤其如此 这些论文往往使用论文撰写时可用的任何漂亮的 超级扩展的 GHC 版本 而没有明确实际需要哪些扩展 结果是我的 hs 文件顶部经常出现这样的内
  • 如何使用货币格式化散景 xaxis 刻度

    我正在使用 jupyter 笔记本制作子弹图来比较两个值 该图已渲染 但我想格式化 x 轴刻度以显示货币 这就是我到目前为止所拥有的 project Rocket targetspend 15000 spend2date 16600 dat