altair - Altair:如何使用另一列作为条形图标签?
问题描述
我想要另一个数据框列作为我的条形图的标签。我认为使用labelExpr
和datum
构造会起作用,但没有显示任何内容。
我将问题简化为:
df = pd.DataFrame({'name':['bar','foo'],
"another": ['a', 'b'],
'value':[10,20]})
(alt.Chart(df, height=250, width=375).mark_bar()
.encode(x=alt.X('name', axis=alt.Axis(labelExpr="datum.another")),
y='value')
)
输出为空:
我尝试了一些变化,labelExpr=alt.datum.another
但它仍然是空的。
是否可以在没有另一层的情况下做到这一点?
解决方案
如果另一列的条目与第一列的条目完美的一对一映射,最好的方法是another
直接在编码中使用,必要时调整标题:
(alt.Chart(df, height=250, width=375).mark_bar()
.encode(x=alt.X('another', title='name'),
y='value')
)
如果另一列与第一列没有直接的一对一映射,那么我认为您的问题不恰当,因为每个标签都不会使用一个唯一的条目。
推荐阅读
- node.js - Go Client 使用 WebSocket 连接到 NodeJS express/http 服务器
- sqlalchemy - 如何使用 SQLAlchemy 插入带有 ON CONFLICT ... DO 子句的许多值?
- node.js - 因拆解不当而导致 Jest 测试泄漏
- reactjs - 单击预览图标时onPreview不起作用-Antd
- asp.net-mvc - MVC 报告查看器问题 400 错误请求
- jmeter - 如何在 Jmeter 中更改 PerfMon 图形图例
- javascript - 函数内的MySQL数组不返回?
- plugins - QtCreator:一种在源文件中更新 doxygen 注释中的日期的方法
- amazon-web-services - Aws 批处理:阵列作业是否创建单独的资源?
- python - 使用列名的值创建新列并堆叠结果 Pandas