问题标签 [altair]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vega-lite - 是否可以创建与 Altair/Vega-Lite 中的选择过滤器一起使用的自定义聚合?
几天以来,我一直在探索 Altair 以创建交互式图表。我正在尝试创建一个包含两层的图表,两者都显示随着时间的推移累积的股票收益。刷过一个图表应该在另一个图表中提供放大视图,累积回报从 0 开始实时更新。
在 pandas 中,您可以在可见时间段内按如下方式计算:
我不知道如何以及是否可以用 altair 做到这一点。
我已经看到有两种可能的转换:
- 在编码通道内
- 使用顶级转换(例如,transform_aggregate 和 transform_calculate)
我过去曾成功使用 1(例如,用于创建两个图表,其中一个用作另一个的缩放选择),我无法使 2 工作。
举一个具体的简单例子,我在下面垂直连接两个图表。底部的选择应显示第一个选择的运行总和。
这是我目前的尝试这样做会产生我不完全理解的行为(从左到右刷似乎做我想要的,从右到左刷会导致向下倾斜的运行总和,取消选择会产生奇怪的结果).. .
这是编辑器中相应的 vega-lite 规范:
python - Altair 为条形图设置常量标签颜色
官方网站提供了在 Altair 中为条形图设置标签的示例:https ://altair-viz.github.io/gallery/bar_chart_with_labels.html
但是,一旦您想将条形图中的“颜色”参数设置为以变量为条件,标签颜色会自动匹配条形图的颜色,如下图所示。但是,我的意图是始终保持标签颜色不变,例如黑色。如果要将标签显示为百分比,这对于堆叠条形图尤其有用。似乎在 mark_text 中设置“color='black'”在这里不起作用;可能是因为它基于使用“颜色”参数作为“年份”的“条形图”。但是我找不到一种直观的方法来解耦这个参数。
python - Altair 十六进制的默认调色板颜色
如何找到 Altair 默认调色板的十六进制表示?每个绘图工具都有其优点和缺点,我通常最终生成由 Seaborn + Altair 组成的可视化。我想在 Seaborn 中匹配 Altair 颜色。对于 Seaborn,您可以获得 color_palette 的相关 HEX 颜色表示,如下所示,并且想知道如何在 Altair 中获得类似的颜色信息。
python - 在 Altair 中为分层图表保留特定的 Y 轴顺序/排序
我想在 Altair 文档中显示的格子图上构建:https ://altair-viz.github.io/gallery/beckers_barley_trellis_plot.html 。
在下面显示的代码中,我正在创建具有特定 Y 轴排序的“mark_rule”图表,并将其与“mark_point”分层以突出显示端点。但是,当我在 "mark_rule" 顶部添加 "mark_point" 图层时,Y 轴排序/顺序会丢失;而且我无法重新排序/重新排序分层图表的 Y 轴。请参阅下面具有正确 Y 轴排序的“mark_rule”图和“mark_rule + park_point”图表,其中 Y 轴排序在分层后丢失。我想知道我们如何在分层后重新覆盖 Y 轴排序。为 Y 轴排序添加最终“编码”似乎没有帮助。
以下是附加图像的可重现代码:
python - 使用热阴影和文本值过滤 altair 热图
我正在尝试使用 Altair lib 创建热图,但我希望使用滑块过滤我的数据以获取不同的视图。滑块适用于仅标准颜色的热图,但是当我尝试向框中添加文本以描述每个单元格中的值时,我得到下面的 javascript 错误。(在没有任何过滤器滑块的情况下,将文本添加到热图中可以正常工作。)
这返回Javascript Error: Duplicate signal name: "my_year_slider_tuple"
vega-lite - 是否可以在 vega-lite 中注册命名的自定义配色方案
我想在 vega-lite中注册一个自定义的Multi-Hue Sequential Color Scheme 。
我对文档的阅读是,我只能创建config.range
对象来设置自定义色阶,但无法公开插值函数,从而消除了自定义方案的可能性。
Vega 规范允许使用vega.scheme
和 vega.schemeDescretized
函数
我想遵循d3-scale-chromatic
(此处的示例)中演示的模式,但我无法在 vega-lite 中找到执行此操作的入口点。
python - 如何计算标签/工具提示的聚合聚合?
如果我有聚合的时间序列数据。是否可以执行额外的聚合并将其显示在工具提示中?
这是我的问题的一个更明确的例子。对于下面的代码示例,我们显示了三种不同类型水果按月汇总的权重总和。是否也可以将每个月的总重量(和/或每个月按水果划分的标准化重量百分比)显示为标签或工具提示?
我玩过transform_aggregate
但似乎无法让它工作(它最终破坏了group by
水果)。:(