Altair Ridgeline 不会创建具有名义组的绘图

2024-03-01

我尝试在 Altair 中创建山脊线图。假设我的数据框由 str 和 float 列组成:

a     object
b    float64
dtype: object

具有像这样的值

    a       b
0  25  2303.0
1  29  2676.0
2  18  2983.0
3  16  1489.0
4  21  3468.0

我使用 Altair gallery 中的代码来创建图表:https://altair-viz.github.io/gallery/ridgeline_plot.html https://altair-viz.github.io/gallery/ridgeline_plot.html。我的代码更改了数据和列名称:

import pandas as np
import numpy as np

source = pd.DataFrame(columns=list('ab'))
source['a'] = np.random.randint(0,17,size=500)
source['a'] = source['a'].astype('str')
source['b'] = np.random.randint(1000,5000,size=500).astype('float')

import altair as alt

step = 20
overlap = 1

alt.Chart(source, height=step).transform_joinaggregate(
    mean_temp='mean(b)', groupby=['a']
).transform_bin(
    ['bin_max', 'bin_min'], 'b'
).transform_aggregate(
    value='count()', groupby=['a', 'b', 'bin_min', 'bin_max']
).transform_impute(
    impute='value', groupby=['a', 'b'], key='bin_min', value=0
).mark_area(
    interpolate='monotone',
    fillOpacity=0.8,
    stroke='lightgray',
    strokeWidth=0.5
).encode(
    alt.X('bin_min:Q', bin='binned', title=''),
    alt.Y(
        'value:Q',
        scale=alt.Scale(range=[step, -step * overlap]),
        axis=None
    ),
    alt.Fill(
        'b:Q',
        legend=None,
    )
).facet(
    row=alt.Row(
        'a:T',
        title=None,
        header=alt.Header(labelAngle=0, labelAlign='right', format='%B')
    )
).properties(
    title='',
    bounds='flush'
).configure_facet(
    spacing=0
).configure_view(
    stroke=None
).configure_title(
    anchor='end'
)

当我使用row=alt.Row('a:T'...)它认为我的数据是时间月份,但工作正常:

但是当我将类型更改为名义类型时'a:N',结果为空。如何修复它?


对于像这样的图表渲染错误,通常在浏览器的开发者控制台中可以找到线索。这种情况下会报如下错误:

vega@5?noext:1 ERROR Error: invalid format: %B

我相信"%B"不是标称数据的有效格式代码。如果您删除format='%B'从标题来看,标称行编码将起作用。

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

Altair Ridgeline 不会创建具有名义组的绘图 的相关文章

  • 使用 Python 编辑 RTF 文件

    也许这是一个愚蠢的问题 但我不明白 所以道歉 我有一个 RTF 文档 我想更改它 例如 有一个表 我想复制一行并以面向对象的方式更改代码中第二行中的文本 我认为 pyparsing 应该是可行的方法 但我摆弄了几个小时但没有明白 我没有提供
  • 在PyGI中获取窗口句柄

    在我的程序中 我使用 PyGObject PyGI 和 GStreamer 在 GUI 中显示视频 该视频显示在Gtk DrawingArea因此我需要获取它的窗口句柄realize 信号处理程序 在 Linux 上 我使用以下方法获取该句
  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r
  • LibreOffice 并行将 .docx 转换为 .pdf 效果不佳

    我有很多 docx 文件需要转换为 pdf 将它们一一转换需要很长时间 所以我编写了一个 python 脚本来并行转换它们 from subprocess import Popen import time import os os chdi
  • 将 yerr/xerr 绘制为阴影区域而不是误差线

    在 matplotlib 中 如何将误差绘制为阴影区域而不是误差条 例如 而不是 忽略示例图中各点之间的平滑插值 这需要进行一些手动插值 或者只是获得更高分辨率的数据 您可以使用pyplot fill between https matpl
  • 如何删除 PyCharm 中的项目?

    如果我关闭一个项目 然后删除该项目文件夹 则在 PyCharm 重新启动后 会再次创建一个空的项目文件夹 只需按顺序执行以下步骤即可 他们假设您当前在 PyCharm 窗口中打开了该项目 单击 文件 gt 关闭项目 关闭项目 在 PyCha
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • 如何获取numpy.random.choice的索引? - Python

    是否可以修改 numpy random choice 函数以使其返回所选元素的索引 基本上 我想创建一个列表并随机选择元素而不进行替换 import numpy as np gt gt gt a 1 4 1 3 3 2 1 4 gt gt
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • Python“非规范化”unicode 组合字符

    我正在寻找标准化 python 中的一些 unicode 文本 我想知道是否有一种简单的方法可以在 python 中获得组合 unicode 字符的 非规范化 形式 例如如果我有序列u o xaf i e latin small lette
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • pygame:使用 sprite.RenderPlain 绘制精灵组的顺序

    我有一个精灵组 需要按一定的顺序绘制 以便其精灵按应有的方式重叠 然而 即使使用运算符模块函数 sorted self sprites key attrgetter y x 对组进行排序 顺序也是错误的 我该如何解决这个问题 直截了当地说
  • 确定分割形状几何体的“左”侧和“右”侧

    我的问题是 我怎样才能确定哪一个Aside and Bside的侧面已经分割的旋转矩形几何体 http nbviewer jupyter org urls dl dropbox com s ll3mchnx0jwzjnf determine
  • 使用 selenium 和 python 来提取 javascript 生成的 HTML?萤火虫?

    这里是Python新手 我遇到的是数据收集问题 我在这个网站上 当我用 Firebug 检查我想要的元素时 它显示了包含我需要的信息的源 然而常规源代码 没有 Firebug 不会给我这个信息 这意味着我也无法通过正常的 selenium
  • 非法指令: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
  • 将时间添加到日期时间

    我有一个像这样的日期字符串 然后使用strptime 所以就像这样 my time datetime datetime strptime 07 05 15 m d Y 现在我想添加 23 小时 59 分钟my time 我努力了 timed
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt
  • 描述符“join”需要“unicode”对象,但收到“str”

    代码改编自here http wiki geany org howtos convert camelcase from foo bar to Foo Bar def lower case underscore to camel case s

随机推荐

  • 如何在 Ubuntu 中增加 Neo4j 的最大文件打开限制(ulimit)?

    现在ulimit n shows 10000 我想增加到40000 我编辑了 etc sysctl conf 并放入fs file max 40000 我也编辑过 etc security limits conf并更新了硬值和软值 但仍然显
  • 使用 ggplot2 再现格子树状图

    这可以用 ggplot2 重现这个格子图吗 library latticeExtra data mtcars x lt t as matrix scale mtcars dd row lt as dendrogram hclust dist
  • 有人请解释一下 Function.apply.bind(Math.max, null) 算法

    假设我们有这段代码 function largestOfFour arr return arr map Function apply bind Math max null 其中 arr 是数组的数组 首先 为什么我必须使用 apply 我知
  • Flutter - FirebaseMessaging.onMessageOpenedApp.listen 未触发

    我在用 flutter version 2 2 firebase messaging 10 0 2 我收到推送通知 然后单击它并打开应用程序 然后我就看不到了FirebaseMessaging onMessageOpenedApp list
  • 如何以编程方式选择特定节点?

    我有一个jstree 我想选择绑定到 id 为 158 的位置的对象的节点 这可行 但看起来很愚蠢 这样做更惯用的方法是什么 var tree jstree myContext node tree find li filter functi
  • 如何使用Vagrant box打包文件?

    所以我使用以下命令创建了一个 Vagrant 框 vagrant package base box name here vagrantfile Vagrantfile include manifests manifests 是一个包含 pu
  • ASP.NET MVC Url.Action 和路由名称值

    我正在使用 asp net mvc 2 并根据路由创建本地化 我的路线如下 culture controller action 我转到我的家庭控制器 en Home Index 我的家庭控制器视图有到其他控制器的链接 a href Prod
  • 数组在内存中是如何存储的?

    我有一个简单的程序 它将数组初始化为 int a 10 20 30 40 50 char p p char a 现在我想通过指针访问每个字节的值p 为此我需要知道 数组如何存储在内存中 是存储在栈上还是堆上 数组将其元素存储在连续的内存位置
  • 如何使用 Google Maps API v3 从地图获取 MapOptions 对象

    在 Google Maps api v2 中 您可以直接从地图对象获取地图类型 缩放等参数 在版本 3 中 您可以使用 setOptions 方法来设置某些参数 但没有 getOptions 或选项来检索它们 您还可以使用以下命令访问选项g
  • 对“_GetAdaptersAddresses@20”的未定义引用 - 但我包含了 -liphlpapi

    我在用着gcc under cygwin编写一些调用的代码GetAdaptersAddresses from iphlpapi h在我的代码中我设置了 WIN32 WINNT高于要求的0x0501在我添加的链接器行上 liphlpapi但链
  • 来自 createFileAtPath 的更详细错误?

    无论如何 是否可以从 createFileAtPath 获取更详细的错误数据 我有点期待 NSError 目前我正在使用 BOOL 返回值 success fileMan createFileAtPath fileOnDisk conten
  • XSD:大型模式验证

    我正在尝试使用 JAXP 和 SAX 解析器根据非常大的工业模式验证 xml 文件 问题是 验证即使是很小的 XML 文件也需要很长时间 我正在运行 Apache Tomcat 6 0 我尝试将堆大小增加到 1024 但这没有多大帮助 我还
  • 在 Visual Studio 中调试可执行文件

    想要在调试器下调试可执行文件 如何在视觉工作室中做到这一点 Windbg 有一个打开可执行文件的选项 但我发现 VS 2010 中缺少这一点 这个问题并不完全相同在 Visual Studio 2010 中调试 exe https stac
  • 字符串的长度超过了 maxJsonLength 属性上设置的值

    我正在通过 jQuery 加载选项卡内容数据ajax通过 web 方法发布方法 大约有 200 300 条记录 并在控制台中出现以下错误 错误 Sys Net WebServiceFailedException Sys Net WebSer
  • 在 JMockit 中模拟被测类的私有方法

    在我的被 测类 CUT 中 一个 ejb 我有一个私有方法 getConnection 我想测试另一种 CUT 方法 但这种方法会提前失败 我尝试了如下所示 但 调用 是错误的 我不想调用该方法 我想存根它 但如何呢 连接 是一个存根 ne
  • 如何在主机之间迁移 Docker 卷?

    码头工人的文档 https docs docker com engine admin volumes volumes 指出卷可以 迁移 我假设这意味着我应该能够将卷从一台主机移动到另一台主机 非常乐意在这一点上得到纠正 但是 同一文档页面没
  • 获取单元 apache poi 的名称

    我有一个 Cell 对象 如何获取该单元格的名称 想要一个函数 例如 String name myCell getName 在Excel中 我已在名称框中对其进行命名 因此我不想获得 B4 我想获得诸如 InterestRate 之类的名称
  • 元素不会重定向到另一个页面并且不可点击

    我创建了一个 Web 组件 在其中声明了创建版权字符串的方法 p Copyright 2020 Krzysztof Kaczy ski a href https www google com Policy terms a p 然后我把这个字
  • 如何为 Mac OS X 编写启动脚本?

    我用java创建了一个jar文件 我想让应用程序在系统启动时自动启动 我发现我必须为此编写一个 shell 脚本 shell 脚本应该是什么样子 我还需要做些什么才能使应用程序在启动时自动启动吗 在 OS X 启动时启动程序的首选方法是创建
  • Altair Ridgeline 不会创建具有名义组的绘图

    我尝试在 Altair 中创建山脊线图 假设我的数据框由 str 和 float 列组成 a object b float64 dtype object 具有像这样的值 a b 0 25 2303 0 1 29 2676 0 2 18 29