python - 在 Altair 的 transform_calculate 中使用自定义函数

标签 python altair

我有一个条形图,我想在每个条形图本身之上添加每个条形值的近似值。 该值是一个很大的数字,我有一个格式化数字的函数,例如:10,000$ 到 10k$。我该如何应用它。

 base = alt.Chart(target_df_hahu).mark_bar().encode(
    alt.X('monthdate(date):O'),
    alt.Y('value'),
    color = 'variable'         
)

我已经尝试过编写代码。

text = base.mark_text().encode(
    text = 'value:Q'
).transform_calculate(
    value=custom_function(datum.value)
)
base+text

最佳答案

计算转换由 Vega 渲染器在 Javascript 中进行评估,因此不能包含 Python 中定义的自定义功能。计算转换必须是包含明确定义的 JavaScript 语法子集的字符串,利用 https://vega.github.io/vega/docs/expressions/ 中列出的任何功能。

关于python - 在 Altair 的 transform_calculate 中使用自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61933719/

相关文章:

python - 在不知道名称的情况下导入文件

python - Altair 条形图 - 标签放置和格式

python - 使用 altair 制作仪表板

Python Pandas 系列 if else 箱线图

python - 使用键参数按多列对 Pandas 数据框进行排序

python - Altair 中的平行坐标

pyqt - 如何在 PyQt 小部件中渲染 Altair/Vega

python - 在 Altair 中共享顶层数据的多 View 图表

python - QSqlTableModel setFilter 参数过多

python - Python 和 C 之间的性能差异