有没有办法在动态 Altair 图表中保持梯度比例恒定?

2024-01-30

我在 Altair 中有以下代码,可以生成动态分区统计图:

columns = [str(year) for year in range(20200307, 20200331)]
slider = alt.binding_range(min=20200307, max=20200330, step=1)
select_date = alt.selection_single(name="date_num", fields=['date_num'],
                                   bind=slider, init={'date_num': 20200307})

alt.Chart(states).mark_geoshape(
    stroke='black',
    strokeWidth=0.05
).project(
    type='albersUsa'
).transform_lookup(
    lookup='id',
    from_=alt.LookupData(data_of_interest, 'id', columns)
).transform_fold(
    columns, as_=['date_num', 'case_to_pop_ratio']
).transform_calculate(
    date_num='parseInt(datum.date_num)',
    case_to_pop_ratio='datum.case_to_pop_ratio'  
).encode(
    color = alt.condition(
        'datum.case_to_pop_ratio > 0',
        alt.Color('case_to_pop_ratio:Q', scale=alt.Scale(scheme='lightgreyred')),
        alt.value('#dbe9f6')
    )
).add_selection(
    select_date
).properties(
    width=700,
    height=450
).transform_filter(
    select_date
).resolve_scale(
    color='shared'
)

然而,当我在滑块上移动时,生成的图表会改变颜色渐变的比例,从而使结果很难解释。有没有办法保持比例一致?

我的数据文件太大而无法链接,但它的格式与此数据文件完全相同,来自一个单独的 Stack OverFlow 问题:https://github.com/sdasara95/Opioid-Crisis/blob/master/sample_data.csv https://github.com/sdasara95/Opioid-Crisis/blob/master/sample_data.csv


您可以通过调整比例域在 Altair 中设置恒定的颜色范围:

import altair as alt
from vega_datasets import data

alt.Chart(data.cars.url).mark_point().encode(
    x='Acceleration:Q',
    y='Horsepower:Q',
    color=alt.Color('Acceleration:Q',scale=alt.Scale(domain=(1, 15))),
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在动态 Altair 图表中保持梯度比例恒定? 的相关文章

随机推荐

  • Mongodb:$in 运算符与大量单个查询

    我知道 MongoDB 能够每秒处理大量请求 但假设我必须根据给定的 id 查询集合的大量文档 什么听起来更好 在 id 属性上使用我想要获取的所有 id 创建 in 或者循环 findOne 查询 我肯定会使用 in 查询并提供 ids
  • 如何从 SqlAlchemy 创建和恢复备份?

    我正在编写一个 Pylons 应用程序 并尝试创建一个简单的备份系统 其中每个表都被序列化并压缩成一个文件 供管理员下载 并在发生不良情况时用于恢复应用程序 我可以使用以下命令很好地序列化我的表数据SqlAlchemy 序列化器 https
  • 如何通过 JavaScript/JQuery 将 HTML 文档添加到
    中?

    如何将 HTML 文档添加到 div div 通过 JavaScript JQuery 这就是我到目前为止所拥有的 emailBodyIninclude html
  • Azure Functions - 事件中心不触发函数

    我有一个 Azure 基础架构 2 个 HTTP 函数 gt 事件中心 gt 2 个函数 gt 表存储 因此两个 http 函数将消息发送到事件中心 以及两个由事件中心中的消息触发的函数 其中之一将消息保存在表存储中 基础结构每天由 Azu
  • 如何寻址 OData Url 中使用复合身份密钥的实体?

    我有一个实体订单项具有OrderId and 产品编号整数字段 这两个字段构成身份密钥 主密钥对于这张表 我想用OData Web API通过服务公开此类实体并能够选择订单项目他们的实例复合ID 的格式应该是什么URL 是否有处理此类场景的
  • Spark重新分区落入单个分区

    我正在学习spark 当我使用以下表达式在pyspark shell中测试repartition 函数时 我观察到一个非常奇怪的结果 之后所有元素都落入同一个分区repartition 功能 在这里 我用了glom 了解 rdd 内的分区
  • x86 保护模式下段寄存器的用途是什么?

    我需要修改一些dll 但我不知道段寄存器到底是做什么的 DS SS 处于保护模式 我在学校学到了真正的 16 位模式 其中段寄存器乘以 16 加上普通寄存器中的偏移量给出了物理内存中的有效地址 在保护模式下 有一些平面内存模型和虚拟内存 其
  • 如何在cheerio中获取div的childNodes?

    我想使用cheerio 获取div 的第一个childNode 我使用 javascript dom 操作来获取它 但无法在cheerio 上获取它 我已经在开发工具中尝试过并得到了预期的结果 但我想通过使用cheerio来实现 javas
  • 尽管使用“-webkit-user-select: none”,Chrome 仍会复制文本

    我想在表中创建一个不可复制的元素 因为可读性更好 在 Firefox 中它工作正常 如果您选择所有内容并复制它 则不会复制特定的文本元素 遗憾的是在 Chrome 中这不起作用 事实上 浏览器不会选择文本 而是复制它 td Test2 td
  • 如何在Android中的日期选择器中设置特定日期

    我尝试了很多 但一切都不起作用 我需要我的日期选择器 日期从 2014 年 9 月 1 日开始 但它从 1900 年开始 我设置了最小日期概念 它会消失所有过去的日期 请大家帮忙 public void onCreate Bundle sa
  • 使用 BaseX 查询 XML 文件

    我正在使用 BaseX 本机 XML 数据库来查询 XML 文件 我正在使用 BaseX 文档中提供的 BaseXClient java 文件 我正在启动 Basex 服务器并使用 BaseXClient java 连接到服务器 creat
  • Grails 无法解码 unicode 字符

    我的 Grails 应用程序有以下配置 圣杯 1 3 7在 config groovy 文件中设置以下内容 grails views default codec none grails views gsp encoding UTF 8 gr
  • Eclipse 无法识别 src/main/webapp 目录

    I use m2eclipse在 Eclipse 中导入 Maven Java 项目 它无法识别src main webapp作为源目录 以图形方式在包资源管理器中 或者当我查看Java 构建路径在项目的属性中 该目录不在源文件夹列表中 同
  • 使用指针进行 C++ 类型转换

    我有 C 和 Java 背景 我似乎无法理解 C 中指针转换的含义 例如 int x 1 char c char x 它有什么作用 它有什么用 在您的两个示例中 您都犯了错误 导致代码无法编译 所以我假设您正在尝试执行以下操作 int x
  • 如何删除在 Play 框架和 slick 的单元测试中创建会话的代码

    我正在使用 play 2 0 和 slick 所以我为这样的模型编写单元测试 describe add it questions be save Database forURL jdbc h2 mem test1 driver org h2
  • 在 C++11 中通过引用传递对象到 std::thread

    为什么创建对象时不能通过引用传递对象std thread 例如 以下片段给出编译错误 include
  • Google 应用程序脚本 - “消息”:“未找到请求的实体。” devMode = false

    我正在尝试将我的 Python 脚本与 Google App 脚本中的项目连接起来 我已遵循本指南中的所有说明guide https developers google com apps script api how tos execute
  • 通过处理纸上的 2D 草图生成 3D 对象[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望我的应用程序通过使用图像处理 openCV 来理解在立方体 圆柱体 金字塔等 3d 对象纸上绘制的
  • 将日期时间设置为月初

    如何在 C 中将 DateTime 设置为每月的第一天 var now DateTime Now var startOfMonth new DateTime now Year now Month 1
  • 有没有办法在动态 Altair 图表中保持梯度比例恒定?

    我在 Altair 中有以下代码 可以生成动态分区统计图 columns str year for year in range 20200307 20200331 slider alt binding range min 20200307