在 Altair 中将图例分成多列

2024-04-05

抱歉无法提供大量代码,一切都是互连的,现在不可能。

我的问题是我创建了一个点图作为“交互式图例”。

legend = alt.Chart(source).mark_point().encode(
    y=alt.Y('STATE', axis=alt.Axis(orient='right')),
).add_selection(
    select_state
)

问题是列出了 50 个州。结果,图表变得非常长,并且无法将所有内容显示在一个屏幕上。

  • 有什么方法可以以某种方式包装该图表,以便它显示在多列中吗?鉴于图例是单柱点图,我认为这是不可能的。

  • 有什么方法可以将其转换为 Altair 中的某种结构,从而可以包装成非图表的多个列吗?

或者,有没有办法重新定位我的滑块?它出现在底部:(如果它出现在顶部,我认为它将能够与其他所有内容出现在同一屏幕上,因此图例图表不会成为太大的问题。

slider = alt.binding_range(min=1992, max=2016, step=1)
# 1st selection filter
select_year = alt.selection_single(name="YEAR", fields=['YEAR'],
                                   bind=slider, init={'YEAR': 1992})

您可以指定编码legend.columns属性来控制图例中的列数。例如,使用 cars 数据集:

import altair as alt
from vega_datasets import data

alt.Chart(data.cars.url).mark_point().encode(
    x='Horsepower:Q',
    y='Miles_per_Gallon:Q',
    color=alt.Color('Name:N', legend=alt.Legend(columns=8))
).properties(
    # Adjust chart width and height to match size of legend
    width=600,
    height=600
)

然而,由于有如此多的属性,图例在实践中变得不太有用。您可能会考虑tooltip编码而不是像这样显示详细信息。

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

在 Altair 中将图例分成多列 的相关文章

随机推荐

  • 调整许多 PDF 的大小

    我正在编写的程序有许多 大约 1000 个 多页 PDF 问题在于 其中许多页面大小不一致 即使有时在同一文档中也是如此 有谁知道我可以通过编程方式浏览文件并将页面大小调整为我想要的大小的方法吗 这可以是任何语言 我可以在 Adob e A
  • 用于更改字段的 Java Jackson 注释[重复]

    这个问题在这里已经有答案了 我必须调用第 3 方 API 来获取货币汇率 但返回的 JSON 不断变化 如果我请求MYR to USD转换 它会返回我 MYR USD 0 246731 所以如果我要求KRW to USD 它会返回我 KRW
  • ASP.NET MVC 视图 - 我可以使用代码隐藏吗

    我是 MVC 新手 我注意到视图页面由于所有混合的脚本标签看起来非常糟糕 在视图代码隐藏的方法中生成 HTML 然后将方法的字符串结果作为单个脚本插入 是否有意义 例如 div div 这是否违背MVC理念 由于其他原因 例如性能 而变得愚
  • Swift 上的 +++ 和 <<< 是什么?

    我只是从这个知道github项目 https github com xmartlabs Eureka usage斯威夫特有 and lt lt lt 运营商 我很难在谷歌上搜索这个 因为 and lt lt lt 也许某种特殊字符根本不会出
  • openSSL 的 PKCS#11 引擎

    我正在尝试在 Windows 7 下设置 openSSL 以使用供应商特定的安全模块 我从供应商那里得到了一个 PKCS 11 API dll 比如说vendor dll PKCS 11 引擎是根据https github com Open
  • 多久轮询一次 wifi 信号强度?

    理想情况下 我希望近乎实时地监控无线网络的信号强度 比如每 100 毫秒一次 但如此高的频率可能有点过大了 我正在使用托管无线网络 http managedwifi codeplex com 库轮询 RSSI 我实例化一个WlanClien
  • 如何更改Linux中每个用户的默认最大进程数

    我在更改 Linux 中用户的默认进程数时遇到了问题 我尝试过编辑 etc security limits conf文件并添加以下行 malintha hard nproc 10000 保存后我尝试在终端上执行以下命令 ulimit u 它
  • 固定位置水平滚动条

    我有一个很长的 div 比方说比屏幕长 带有一个水平滚动条 出现在 div 的底部 我希望水平滚动条出现在窗口的底部 而不是出现在 div 的底部 我的情况类似于这把小提琴 http jsfiddle net xaTe9 1 而且我真的无法
  • Spinner:当所选项目保持不变时,不会调用 onItemSelected

    我有一个OnItemSelectedListener for my Spinner 但当所选项目与前一项相同时 不会调用它 显然是OnClickListener不是一个选项Spinner 我需要捕捉用户每次点击某个项目的时间 任何想法 也许
  • 在磁盘上存储密码的安全策略

    我正在构建一套需要定期访问数据库的批处理作业 在 Solaris 10 计算机上运行 由于 不可更改的 设计限制 我们需要使用特定的程序来连接它 该接口要求我们通过命令行传递纯文本密码才能连接到数据库 这是一种糟糕的安全做法 但我们仍坚持这
  • 文件名中 TCL 通配符/glob 的使用

    我有这样的代码 proc myProc first last for set i first i lt last incr i set i cur PlainText i
  • 有没有办法获取特定城市的所有 Facebook 活动?

    我可以获取特定城市的所有 Facebook 活动吗 我所需要的只是事件 ID 没有别的 它应该是所有事件 公共 而不仅仅是某人的事件 Facebook 会让我们获取这些信息吗 Elmcity 对活动标题中的关键字进行简单搜索 例如尝试 兰开
  • 使滚动条仅在将鼠标悬停在 Div 上时可见?

    我试图弄清楚如何拥有一个可滚动的 div 仅在悬停时显示其滚动条 示例是 Google 图片搜索 在下图中 您可以看到左侧边栏在将鼠标悬停在其上方之前似乎无法滚动 这可以通过 CSS 实现还是需要 Javascript 如果可能的话 也许一
  • NodeJS 从 AWS S3 存储桶下载文件

    我正在尝试在 NodeJS Express 中创建一个端点 用于从我的 AWS S3 存储桶下载内容 它运行良好 我可以在客户端下载文件 但我也可以在 网络 选项卡中看到流预览 这很烦人 QUESTION 我想知道我所做的是否正确并且是一个
  • Rundeck - 我创建的用于运行 python 脚本的作业调用不同的 python

    我对使用 Rundeck 还很陌生 我的工作应该是执行一个 python 文件 只是为了给您一个概述 我的设备有 python 3 8 5 和 3 7 Rundeck 使用版本 3 7 即使在我的环境变量中我将 PY HOME 设置为版本
  • 通过 Facebook Open Graph API 搜索视频

    我知道我们可以使用以下方法在 Open Graph API 中搜索公共对象 例如帖子 事件 签到 但是我无法搜索视频对象 有没有办法使用标题或描述在 Facebook 中搜索视频 您可以通过 FQL 使用某些属性搜索视频 http deve
  • background.html 与 background.js - chrome 扩展

    我在这里真的很困惑 我想了解 chrome 扩展的文件架构 我正在阅读这篇文档 https developer chrome com extensions overview arch https developer chrome com e
  • 尝试将服务注入角度组件时出错“异常:无法解析组件的所有参数”,为什么?

    我已经用 Angular 构建了一个基本的应用程序 但遇到了一个奇怪的问题 我无法将服务注入到我的一个组件中 然而 它可以很好地注入我创建的其他三个组件中的任何一个 对于初学者来说 这是服务 import Injectable from a
  • Node.js 捕获生成后抛出的 ENOMEM 错误

    我的 Node js 脚本因使用时抛出 ENOMEM 内存不足 errnoException 而崩溃spawn http nodejs org api child process html 错误 child process js 935 t
  • 在 Altair 中将图例分成多列

    抱歉无法提供大量代码 一切都是互连的 现在不可能 我的问题是我创建了一个点图作为 交互式图例 legend alt Chart source mark point encode y alt Y STATE axis alt Axis ori