Altair 颜色分级值

2023-12-01

在以下直方图中对分级值进行着色时遇到问题。我打算对 x 轴(信用度)上小于 50 的所有条形进行着色。在 Altair 中这是如何完成的?

base = alt.Chart(X_train)

histogram = base.mark_bar().encode(
    alt.X('Creditworthiness', bin=True),
    y='count()',
    color=alt.condition(
        alt.datum.Creditworthiness < 50,
        alt.value("steelblue"),  # The positive color
        alt.value("orange")  # The negative color
    )
)

threshold_line = pd.DataFrame([{"threshold": max_profit_threshold}])
mark = alt.Chart(threshold_line).mark_rule(color="#e45755").encode(
    x='threshold:Q',
    size=alt.value(2)
)

histogram + mark

enter image description here


有两种方法可以做到这一点;快速的方法没有记录,将来可能行不通,而更健壮的方法是需要更多的代码。

快速方法依赖于使用 vega 生成的内部字段名称进行分级编码:

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

np.random.seed(1701)
X_train = pd.DataFrame({
    'Creditworthiness': np.clip(50 + 20 * np.random.randn(300), 0, 100)
})

alt.Chart(X_train).mark_bar().encode(
    alt.X('Creditworthiness', bin=True),
    y='count()',
    color=alt.condition(
        alt.datum.bin_maxbins_10_Creditworthiness_end <= 50,
        alt.value("steelblue"),  # The positive color
        alt.value("orange")  # The negative color
    )
)

enter image description here

记录的方法是将分箱从编码移至显式转换,这有点冗长:

alt.Chart(X_train).transform_bin(
    'Creditworthiness_bin', 'Creditworthiness', bin=alt.Bin(step=10)
).transform_joinaggregate(
    count='count()', groupby=['Creditworthiness_bin']  
).mark_bar(orient='vertical').encode(
    alt.X('Creditworthiness_bin:Q', bin='binned'),
    alt.X2('Creditworthiness_bin_end'),
    alt.Y('count:Q'),
    color=alt.condition(
        alt.datum.Creditworthiness_bin_end <= 50,
        alt.value("steelblue"),  # The positive color
        alt.value("orange")  # The negative color
    )
)

enter image description here

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

Altair 颜色分级值 的相关文章

  • 此 TypeError 消息中提到的“代码对象”是什么?

    在尝试使用Python时exec声明 我收到以下错误 TypeError exec arg 1 must be a string file or code object 我不想传递字符串或文件 但什么是代码对象 如何创建一个 创建代码对象的
  • 使用 django-rest-framework 设置对象级权限

    尝试使用 django rest framework 最干净 最规范地管理 django guardian 对象级权限 我想将对象的读取权限 module view object 分配给在执行 POST 时发出请求的用户 我的基于阶级的观点
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • Series.sort() 和 Series.order() 有什么区别?

    s pd Series nr randint 0 10 5 index nr randint 0 10 5 s Output 1 3 7 6 2 0 9 7 1 6 order 按值排序并返回一个新系列 s order Output 2 0
  • 如何通过 python 多处理利用所有核心

    我一直在摆弄Python的multiprocessing现在已经使用了一个多小时的功能 尝试使用并行化相当复杂的图形遍历函数multiprocessing Process and multiprocessing Manager import
  • 根据其他单元格值更改多个单元格值

    我想更改包含的单元格moving to movingToOpenor movingToClose基于下一个单元格中给出的状态 有时循环会被中断并且不会从open to close or close to open 这是我当前的数据框 Dat
  • 两个不同长度的数据帧的列之间的余弦相似度?

    我在 df1 中有文本列 在 df2 中有文本列 df2 的长度将与 df1 的长度不同 我想计算 df1 text 中每个条目与 df2 text 中每个条目的余弦相似度 并为每场比赛给出分数 输入样本 df1 mahesh suresh
  • Plotly:如何检查基本图形结构(版本 4)

    对于旧版本的plotly 例如在 Jupyterlab 中 您可以简单地运行figure像这样检查你的图形的基础知识 Ouput data marker color red size 10 symbol 104 mode markers l
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 是否需要关闭没有引用它们的文件?

    作为一个完全的编程初学者 我试图理解打开和关闭文件的基本概念 我正在做的一项练习是创建一个脚本 允许我将内容从一个文件复制到另一个文件 in file open from file indata in file read out file
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • pandas 中数据帧中的随机/洗牌行

    我目前正在尝试找到一种方法来按行随机化数据框中的项目 我在 pandas 中按列洗牌 排列找到了这个线程 在 pandas 中对 DataFrame 进行改组 排列 https stackoverflow com questions 157
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • 切换选项卡后 WPF ComboBox 选择发生变化

    我做了一个基于嵌套选项卡的项目 嵌套选项卡是同一 viemModel 和同一 UI 的不同实例 当我在选项卡之间切换时 选项卡中存在的组合框会根据失去焦点的选项卡进行选择 我添加了测试项目的视图模型和视图 预先感谢您的帮助 主窗口
  • Hikari 池禁用调试模式

    大家好 我必须禁用日志信息com zaxxer hikari pool HikariPool 我尝试过 Logger getLogger com zaxxer hikari pool HikariPool setLevel Level OF
  • MS Word 宏 - 删除段落

    有人可以帮我使用 MS Word 宏吗 它可以在整个文档的每个段落中搜索特定符号 并删除不包含该符号的段落 我对 VBA 几乎一无所知 但刚刚收到一份巨大且笨重的文档 我需要快速编辑 这是一个快速宏 应该可以完成您想要的操作 谨慎使用 并且
  • 编辑框提示 - 始终显示提示

    我有一个带有提示的文本框 但我希望始终显示提示 即使 TB 中有输入也是如此 示例是 Gmail 应用程序中的 收件人 字段 您可以使用 3 种方法 剧透 使用数字 3 因为正如我的评论中提到的 在 Gmail 示例中 它不是实际的提示 在
  • Observable Angular2

    我的 Angular2 应用程序中有对象数组 当新对象到达时 我使用 SignalR 填充数组 现在的重点是当新对象到达时我遇到了错误 无法读取未定义的属性 我认为这可能是错误的 因为它的工作是异步的 并且在 html 中我曾经在对象内部获
  • WIF - FederatedSignOut 未将用户注销所有站点

    我正在使用 Windows 身份基础 对于一些 MVC 2 0 站点 我在将某人从所有受 WIF 保护的网站中注销时遇到了真正的问题 看起来我的注销只是将当前站点上的人员注销 这是我的代码 public void FederatedSign
  • Rails:从另一个模型调用一个模型。为什么这是不可能的?

    我有以下型号 class Room lt ActiveRecord Base belongs to hotel belongs to layout has many visits validates number presence true
  • 调用fopen时的内存分配不清楚

    1 File fp 2 fp fopen etc myfile txt w 3 fclose fp Now 我读了这个 在语句 1 中 在堆栈上为指针创建了一个 FILE 类型的 4 字节内存 在语句2中 在堆上分配了一块内存 sizeof
  • Firebase 实时数据库 CORS 问题

    我在网站上使用 Firebase 实时数据库 一切正常 但是 当我想使用自定义 json 令牌进行身份验证时 我收到如下 CORS 问题 来自另一个被阻止的源的请求 相同的源策略阻止读取远程资源位于https www googleapis
  • 设置自定义锚点

    有没有办法在实际 HTML 标记之外的位置自定义设置锚点 我正在使用这个简单的视差滚动脚本 名为 smoothscroll js at http www kryogenix org code browser smoothscroll smo
  • 执行中的Python sqlite3字符串变量

    我尝试在 Python 中执行这个 sqlite3 查询 我将代码减少到最少 sqlite connect 等有效 column Pron 1 Pers Sg goal gender constrain Mann with con cur
  • 为什么BroadcastReceiver没有在后台运行?

    在一个应用程序 App1 中 我正在广播一条消息 下面的代码是正确的 gt 如果我尝试在同一项目中获取广播 则会检测到广播 sendBroadcast new Intent com example MESSAGE INTENT putExt
  • 为什么[对象释放]后retainCount还是1?

    NSLog first u object retainCount object release NSLog second u object retainCount Output first 1 second 1 为什么对象没有被释放 引自
  • 删除或替换零宽度非连接字符

    我想删除零宽度非连接器字符串中的字符但使用str replace没用 只要您小心替换的内容 str replace 应该可以解决这个问题 xE2 x80 x8C is ZERO WIDTH NON JOINER foo foo xE2 x8
  • 找不到类 javax.naming.directory.InitialDirContext

    我正在使用此链接中的示例http www rgagnon com javadetails java 0452 html但我收到错误 Could not find class javax naming directory InitialDir
  • 如何在 src/main/resources 中创建文件

    如果我这样做 fis new FileInputStream new File getAbsolutePath sudoinput txt 它尝试写入服务器上的此位置 我不确定这是否可写 地方 FILE NAME fos opt tomca
  • 为什么我的 urls.py 不能与 Django 一起使用

    今天 当我用 Building a blog in 30 mins with Django Screencast 编写我的博客时 我遇到了一些问题 当我点击文章标题时 它无法出现正确的页面 Page not found 404 Reques
  • 在 Magento 中停止事件观察者结帐的正确方法是什么?

    我正在 checkout controller onepage save shipping method 活动期间验证运输报价 如果验证失败 我想将用户发送回运输方式选择 但我还想显示一条消息 说明失败的原因 Magento 有内置的方法吗
  • 为什么这个日期转换需要在月份上加1?

    我在 JavaScript 中有这个日期变量 scope dt内容是Tue Jul 08 2014 00 00 00 GMT 0800 Malay Peninsula Standard Time 我想将其转换为返回一个字符串2014 7 8
  • Altair 颜色分级值

    在以下直方图中对分级值进行着色时遇到问题 我打算对 x 轴 信用度 上小于 50 的所有条形进行着色 在 Altair 中这是如何完成的 base alt Chart X train histogram base mark bar enco