Altair 为交互式散点图罐添加日期滑块

2024-04-10

有人尝试过使用日期作为 Altair 交互式散点图的滑块吗?

我正在尝试重现与 gapminder 散点图类似的图: 1)我尝试使用日期而不是年份过滤器,例如“2020-01-05”并出现以下错误:

    altair.vegalite.v4.schema.core.BindRange->max, validating 'type'

    '2020-05-17T00:00:00' is not of type 'number'

2)当我尝试将其解析为 int 时,图中没有显示任何内容 3) 使用年份滑块的示例:https://www.datacamp.com/community/tutorials/altair-in-python https://www.datacamp.com/community/tutorials/altair-in-python https://altair-viz.github.io/gallery/multiple_interactions.html https://altair-viz.github.io/gallery/multiple_interactions.html4)时间戳选项也不是理想的选择,因为日期需要可读 将不胜感激任何帮助。谢谢

#Date Slider
from altair import datum
from datetime import datetime
import altair as alt
import pandas as pd
import numpy as np
import datetime as dt

date_slider = alt.binding_range(min=min(df['date']), max=max(df['date']), step=1)
slider_selection = alt.selection_single(bind=date_slider, fields=['date'], name="Date", init={'week_starting': max(df[‘date’]})

alt.Chart(df).mark_point(filled=True).encode(
    x='mom_pct',
    y='yoy_pct',
    size='n_queries',
    color='vertical',
    tooltip = ['vertical', 'yoy_pct', 'mom_pct']
).properties(
    width=800,
    height=600
).add_selection(slider_selection).transform_filter(slider_selection)

Vega-Lite 滑块不支持日期时间显示,但可以显示时间戳。这是一个完整的示例(我没有基于您的代码,因为您没有提供任何数据):

import altair as alt
import pandas as pd
import numpy as np
from datetime import datetime

datelist = pd.date_range(datetime.today(), periods=100).tolist()

rand = np.random.RandomState(42)

df = pd.DataFrame({
    'xval': datelist,
    'yval': rand.randn(100).cumsum(),
})

def timestamp(t):
  return pd.to_datetime(t).timestamp() * 1000

slider = alt.binding_range(name='cutoff:', min=timestamp(min(datelist)), max=timestamp(max(datelist)))
selector = alt.selection_single(name="SelectorName", fields=['cutoff'],
                            bind=slider,init={"cutoff": timestamp("2020-05-05")})

alt.Chart(df).mark_point().encode(
    x='xval',
    y='yval',
    opacity=alt.condition(
        'toDate(datum.xval) < SelectorName.cutoff[0]',
        alt.value(1), alt.value(0)
    )
).add_selection(
    selector
)

不幸的是,Vega-Lite 目前不提供任何本地方法来创建显示格式化日期的滑块。

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

Altair 为交互式散点图罐添加日期滑块 的相关文章

随机推荐

  • Ember.js 在特定页面上包含外部脚本

    我试图弄清楚如何包含外部 javascript 源 图表 但仅限于网站上的单个页面 可以在视图或模板中完成吗 我发现只需添加页面模板不起作用 如果我将它添加到整个网站的模板中 它加载得很好 但是它会加载到每个页面上 我的问题的另一面可能更具
  • 如何使用“git submodule”查看子模块的特定版本?

    我该如何为特定标签或提交添加 Git 子模块 子模块存储库保持指向特定提交的分离 HEAD 状态 更改该提交只需检查不同的标签或提交 然后将更改添加到父存储库 cd submodule git checkout v2 0 Previous
  • .NET 4 中的 Math.Round() 行为[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中 Math Round 2 5 结果是 2 而不是 3 你在开玩笑吧 https stackoverflow com questions 977796 in c math round2 5
  • 如何更改弹出菜单中所选项目的颜色?

    我已经设置了背景颜色和文本颜色以及一些其他颜色属性 例如禁用和未选择的颜色 但似乎都没有更改所选项目的背景颜色 如果我必须更改以下属性才能使其看起来像我想要的那样 或者我需要在我的代码中添加什么 我有以下内容
  • 使用 ARM NEON 内在函数添加 alpha 和排列

    我正在开发一个 iOS 应用程序 需要相当快地将图像从 RGB gt BGRA 转换 如果可能的话 我想使用 NEON 内在函数 有没有比简单分配组件更快的方法 void neonPermuteRGBtoBGRA unsigned char
  • CSS:如何让此覆盖层随着滚动延伸 100%?

    以下是所讨论问题的示例 http dev madebysabotage com playground overlay html http dev madebysabotage com playground overlay html 您会看到
  • Jquery 匹配值

    您好 我正在尝试执行 if 语句来查看数组中的值是否完全匹配 然后我希望它的同级元素能够显示精确匹配的 html 有人可以帮忙吗 我使用 TWIG 作为高级自定义字段 Wordpress 插件的 HTML 我只想说一次的所有地点的图片以及它
  • 在 C# 应用程序中写入注册表

    我正在尝试使用我的 C 应用程序写入注册表 我正在使用这里给出的答案 使用 C 将值写入注册表 https stackoverflow com questions 1660870 writing values to the registry
  • UIWebView 在 iOS9 上不显示图像,SafariViewController 根本不加载 HTML 文件?

    刚刚发现UIWeb视图加载嵌入图像的 HTML 字符串无法正常显示图像iOS9 转基因种子 之前工作正常iOS8 观看 WWDC SafariViewController 视频后here https developer apple com
  • AttributeError:“模块”对象(scipy)没有属性“misc”

    我从 ubuntu 12 04 更新到 ubuntu 12 10 我编写的 python 模块突然不再工作 并出现错误消息 模块 scipy 没有属性 misc 这以前有效 更新后我仍在使用python 2 7 这是代码崩溃的地方 impo
  • JavaFX 在控件中显示属性

    我正在学习 Oracle 的 JavaFX 教程 使用 Swing 多年 很久以前 后 我对新的智能功能很着迷 包括 特性 我很惊讶地看到这些例子 例如 https docs oracle com javafx 2 ui controls
  • WPF 窗口位置

    我之前问过一个关于创建子窗口的问题here https stackoverflow com questions 5851833 c wpf child window about window 现在 当我打开子窗口时 它不会以父窗口为中心打开
  • Encoding.GetEncoding(437).GetString() 错误?

    我有以下测试程序 char c Debug WriteLine c int c byte b Encoding GetEncoding 437 GetBytes 0 Debug WriteLine b b char c1 Encoding
  • 如何对每列应用不同函数的数据框进行重新采样?

    我有一个熊猫温度和辐射的时间序列dataframe 时间分辨率按常规步长为 1 分钟 import datetime import pandas as pd import numpy as np date times pd date ran
  • 如何将plotly Express绘图保存到html或静态图像文件中?

    然而 我觉得用plotly express 保存这个数字是相当棘手的 如何将plotly express或plotly绘图保存到单独的html或静态图像文件中 有人可以帮忙吗 更新的答案 使用新版本的plotly Python 中的静态图像
  • 如何将 FastMM 添加到 C++ Builder 项目?

    我正在尝试配置FASTMM4 for Builder C 6我遵循的步骤是 下载的 zip 文件来自来源锻造 http sourceforge net projects fastmm 在下面Project gt Options gt Lin
  • Mysql 选择行的总和

    我有一张包含以下信息的表 id Item ID stock package id amount price 0 775 1 16 0 22 1 758 2 10 0 28 2 775 3 10 0 30 3 774 4 10 0 25 4
  • 远程模式 RoR 中的 jQuery UI 自动完成

    我正在尝试实施jquery ui autocomplete在我的远程模式中 它不起作用 而autocomplete适用于常规静态页面 对于远程模式 我使用 gem 的组合 模态响应器轨道 https github com Sento mod
  • xdt:Transform="Insert" 不适用于 中的

    我在 web config 的实时配置中编写了以下转换
  • Altair 为交互式散点图罐添加日期滑块

    有人尝试过使用日期作为 Altair 交互式散点图的滑块吗 我正在尝试重现与 gapminder 散点图类似的图 1 我尝试使用日期而不是年份过滤器 例如 2020 01 05 并出现以下错误 altair vegalite v4 sche