Altair:如何在烛台图(即:分层图)上使用区间选择

2024-01-24

我正在尝试复制以下堆叠图表,可以通过与底部图表交互来选择顶部图表的域,但使用烛台图(这是一个分层图表):

(example code for below is here: https://altair-viz.github.io/gallery/interval_selection.html https://altair-viz.github.io/gallery/interval_selection.html) enter image description here

我无法让它与分层图表一起使用(https://altair-viz.github.io/gallery/candlestick_chart.html https://altair-viz.github.io/gallery/candlestick_chart.html)。是否可以使用分层图表以这种方式按日期进行擦除?谢谢。

这是我尝试过的:

import altair as alt
from vega_datasets import data

source = data.ohlc()
brush = alt.selection(type='interval', encodings=['x'])
open_close_color = alt.condition("datum.open <= datum.close", alt.value("green"), alt.value("firebrick"))

base = alt.Chart(source).encode(
    alt.X('date:T', axis=alt.Axis(format='%m/%d', title='Date in 2009')),
    color=open_close_color
).properties(width=600, height=400)

rule = base.mark_rule().encode(
    alt.Y('low:Q', title='Price', scale=alt.Scale(domain=brush, zero=False)),
    alt.Y2('high:Q')
)

bar = base.mark_bar().encode(
    alt.Y('open:Q', scale=alt.Scale(domain=brush, zero=False)),
    alt.Y2('close:Q')
)

candles = rule + bar

lower = base.properties(
    height=60
).add_selection(brush)

candles & lower

以下是通过 Vega 编辑器提供的 Vega-Lite 规格和交互式图表:https://vega.github.io/editor/#/gist/2e5d94af2d36ee770b980f648774b865/vega-lite-interactive-candlestick-spec.json https://vega.github.io/editor/#/gist/2e5d94af2d36ee770b980f648774b865/vega-lite-interactive-candlestick-spec.json

这是使用以下 python/altair 代码创建的:

import altair as alt
from vega_datasets import data

source = data.ohlc()
open_close_color = alt.condition("datum.open <= datum.close",
                                 alt.value("#06982d"),
                                 alt.value("#ae1325"))
brush = alt.selection(type='interval', encodings=['x'])

base = alt.Chart(source).encode(
    alt.X('date:T',
          axis=alt.Axis(
              format='%m/%d',
              labelAngle=-45,
              title='Date in 2009'
          )
    ),
    color=open_close_color
).properties(
    width=600,
)

rule = base.mark_rule().encode(
    alt.Y(
        'low:Q',
        title='Price',
        scale=alt.Scale(zero=False),
    ),
    alt.Y2('high:Q')
)

bar = base.mark_bar().encode(
    alt.Y('open:Q'),
    alt.Y2('close:Q')
)

lower = alt.layer(rule, bar, height=60).add_selection(brush)

upper = (rule + bar).encode(
    alt.X('date:T', scale=alt.Scale(domain=brush))
)

# (upper & lower)                         # display the charts
print((upper & lower).to_json(indent=2))  # get the vega-lite spec

我在 Jupyter 设置中的交互性方面遇到了一些问题,但是当我将规范复制到 Vega 编辑器中时,它就可以工作了。这可能与 Vega-Lite 的版本有关(我的设置为 4.8.1,Vega 编辑器为 4.16.7)。

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

Altair:如何在烛台图(即:分层图)上使用区间选择 的相关文章

  • 2d 图像点和 3d 网格之间的交点

    Given 网格 源相机 我有内在和外在参数 图像坐标 2d Output 3D 点 是从相机中心发出的光线穿过图像平面上的 2d 点与网格的交点 我试图找到网格上的 3d 点 This is the process From Multip
  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r
  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 如何使用 Python boto3 获取 redshift 中的列名称

    我想使用 python boto3 获取 redshift 中的列名称 创建Redshift集群 将数据插入其中 配置的机密管理器 配置 SageMaker 笔记本 打开Jupyter Notebook写入以下代码 import boto3
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • 以类型化内存视图作为成员的结构定义

    目前我正在尝试让一个具有类型化内存视图的结构能够工作 例如 ctypedef struct node unsigned int inds 如果 inds 不是内存视图 据我所知 它可以完美地工作 然而 通过内存视图并使用类似的东西 def
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 仅当某些值相等时,如何才能将一个文本文件中的值替换为另一个文本文件中的其他值?

    我有一个名为finalscores txt我想创建一个 python 脚本 它将打开它并从两个单独的列中读取值 这是我的finalscores txt file Atom nVa predppm avgppm stdev delta QPr
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • NumPy 相当于 Keras 函数 utils.to_categorical

    我有一个使用 Keras 进行机器学习的 Python 脚本 我正在构建 X 和 Y 它们分别是特征和标签 标签的构建方式如下 def main depth 10 nclass 101 skip True output True video
  • 为什么这个 if 语句会导致语法错误

    我正在尝试设置一个 elif 语句 如果用户按下 Enter 键 代码将继续 但是我不断遇到语法错误 GTIN 0 while True try GTIN int input input your gtin 8 number if len
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 无法在 PyCharm 版本 9.3.3 中安装 NumPy。 Python版本3.8.2

    在 PyCharm 中安装 NumPy 时出错 尝试安装 Microsoft Visual C 14 0 还是行不通 NumPy 正在通过命令安装pip3 install numpy在 cmd 终端中 但是当尝试将其安装在 PyCharm
  • 寻找完美的正方形

    我有这个Python代码 def sqrt x ans 0 if x gt 0 while ans ans lt x ans ans 1 if ans ans x print x is not a perfect square return
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • 非法指令:MacOS High Sierra 上有 4 条指令

    我正在尝试在 pygame 3 6 中制作一个看起来像聊天的窗口 我刚刚将我的 MacBook 更新到版本 10 13 6 在我这样做之前它工作得很好 但在我收到消息之后 非法指令 4 Code import pygame from pyg
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a

随机推荐

  • 删除 CSV 文件中的空格

    我有一个带有额外空格的字符串 First Last Email Mobile Phone Company Title Street City State Zip Country Birthday Gender Contact Type 我想
  • 出现编译时错误 CS0579:重复的“AssemblyFileVersionAttribute”属性

    我最近通过 属性 gt 应用程序 gt 程序集信息 按钮向一组 C 项目 dll 添加了一些版权信息 我在一个解决方案中有几个这样的项目 编译后我收到以下类型的错误消息 错误 CS0579 重复的 XXX 属性 其中 XXX 是我指定的属性
  • 是否可以将 SSL 证书从 .key 文件转换为 .pfx?

    有没有办法从 key 文件转换为 pfx 文件 谢谢 编辑 我只有 key 文件 但我的托管提供商说我可以仅使用该文件将其转换为 pfx 要检查您的 key 文件是否包含您需要的一切 check if file contains a val
  • 添加 XML 块作为 SimpleXMLElement 对象的子对象

    我有这个 SimpleXMLElement 对象 其 XML 设置类似于以下内容 xml lt lt
  • 为什么 Java 枚举不可克隆?

    现在改变问题已经太晚了 但更准确的是问 为什么clone 不允许单例 Acopy 方法会更方便 Java 中的枚举无法克隆有什么原因吗 该手册指出 这保证了枚举永远不会被克隆 这是保持其 单例 状态所必需的 但是返回实例本身也将保留其状态
  • 比较两张地图

    我有两张地图声明为Map
  • 如何使用R包Quadprog求解SVM?

    我想知道实现 Quadprog 来解决二次规划的正确方法是什么 我有以下问题 从互联网上摘录 并且也在查看以下内容http cbio ensmp fr thocking mines course 2011 04 01 svm svm qp
  • mac os x 上的 eclipse JNI_CreateJavaVM 错误

    我使用的是 mac os x 10 8 2 我已经安装了java 1 7 然后收回 因为我无法通过xcode发送iphone应用程序 现在java 1 6已安装 ysnky java 版本 java版本 1 6 0 37 Java TM S
  • 为什么我的 vim 命令行路径与 shell 路径不同?

    e g echo PATH usr local bin usr bin bin usr sbin sbin usr local bin bin bin usr local Cellar python3 3 2 3 bin vim echo
  • C 中的 usleep() 是否实现为忙等待?

    我正在构建一个多线程应用程序pthreads并且需要一个线程来定期检查一些东西 在此期间 该线程不应使用任何 CPU 这可能吗 usleep Is usleep 不忙等待吗 或者有更好的解决方案吗 功能usleep已从 SUSv4 中删除
  • Web API 中的依赖注入验证

    在 MVC 中 我可以创建一个可以采用依赖项的模型验证器 我通常使用 FluentValidation 来实现这一点 例如 这使我可以检查帐户注册是否有电子邮件地址未被使用 注意 这是一个简化的示例 public class Registe
  • 为什么 FLAG_ACTIVITY_CLEAR_TOP 不起作用?

    正如标题所说 为什么intent addFlags Intent FLAG ACTIVITY CLEAR TOP or intent setFlags Intent FLAG ACTIVITY CLEAR TOP 行不通 我有 3 项活动
  • 使用shiny DT包中的选择扩展附带的全选按钮仅选择过滤的行

    我试图使用闪亮的 DT 包中的选择扩展附带的全选按钮来仅选择过滤的行 但它会选择所有行 这是闪亮的样本app https radhikesh shinyapps io selectextension 以下是该应用程序的可重现代码 libra
  • 同时交叉和添加列表元素的 Python 方式

    我有3个清单 a b and c 每个列表都包含 3 个数字的元组 下面是一个输入示例 a 1 2 4 1 7 8 1 5 4 3 6 7 b 1 2 5 1 9 3 1 0 3 3 6 8 c 2 6 3 2 4 9 2 8 5 1 2
  • Selenium webdriver 和多语言

    我使用selenium webdriver java 例如 当我想通过 xpath 获取一些数据 文本时 driver findElement By xpath table 3 tbody tr td table 1 tr 1 td 1 g
  • Django:使用电子邮件作为 USERNAME_FIELD 是否需要扩展 AbstractBaseUser?

    与许多其他人一样 我正在尝试将 Django 应用程序配置为使用电子邮件作为用户名字段 我有一些现有的用户帐户 已成功迁移到自定义用户模型 尽管现在自定义模型与 Django 用户模型相同 accounts models py from d
  • jquery img 选择

    我有一个 h4 里面有一个这样的 img 我将点击功能绑定到 h4 这效果很好 但我无法选择其中的img 我想选择 img 以便用 attr src replace up down 重新放置 src attr h4 class collap
  • UILabel中心内容

    这是我的代码 UILabel myLabel myLabel UILabel alloc initWithFrame CGRectMake 20 0 300 480 myLabel lineBreakMode UILineBreakMode
  • mod_rewrite 和 mod_userdir 的问题

    我正在尝试获取其他人组装的正在运行的网站的本地副本 该网站已部署并正常运行 我正在尝试在我的 public html 目录下设置开发版本 该站点使用 mod rewrite 通过执行各种初始化步骤的网关脚本重定向所有流量 我有一个奇怪的问题
  • Altair:如何在烛台图(即:分层图)上使用区间选择

    我正在尝试复制以下堆叠图表 可以通过与底部图表交互来选择顶部图表的域 但使用烛台图 这是一个分层图表 example code for below is here https altair viz github io gallery int