Python 更改图表标签轴的颜色
我的想象: 我已经用altair实现了上面的可视化,我想知道是否有可能像我用hook那样为标签添加与图例颜色匹配的其他颜色。我希望对y轴上的其他工具/标签也这样做,但找不到方法(每个标签的颜色不同) 下面是我用来生成此代码的代码,以防有人正在寻找如何给标签上色Python 更改图表标签轴的颜色,python,visualization,altair,vega-lite,Python,Visualization,Altair,Vega Lite,我的想象: 我已经用altair实现了上面的可视化,我想知道是否有可能像我用hook那样为标签添加与图例颜色匹配的其他颜色。我希望对y轴上的其他工具/标签也这样做,但找不到方法(每个标签的颜色不同) 下面是我用来生成此代码的代码,以防有人正在寻找如何给标签上色 heatmap = alt.Chart( new_df ).mark_rect().encode( x = alt.X('Time:O', axis=alt.Axis(labels=False)), y = a
heatmap = alt.Chart(
new_df
).mark_rect().encode(
x = alt.X('Time:O', axis=alt.Axis(labels=False)),
y = alt.Y('tool:N', axis=alt.Axis(labelColor=alt.condition('datum.value == "hook"', alt.value('red'), alt.value('blue'))))
VegaLite支持在相同条件下进行多个测试,但我认为不可能使用
alt.condition
编写。但是,您可以看到,alt.Condition
返回一个字典,因此您可以直接编写该字典并通过一系列测试:
import altair as alt
import pandas as pd
source = pd.DataFrame({
'a': ['AAA', 'BBB', 'CCC', 'DDD'],
'b': [28, 55, 43, 50]})
# You could use datum.value instead of datum.label
label_colors = {
'condition': [
{'test' : 'datum.label == "AAA"', 'value': 'steelblue'},
{'test' : 'datum.label == "BBB"', 'value': 'purple'}],
'value': 'red'} # The default value if no condition is met
alt.Chart(source).mark_bar().encode(
x=alt.X('a', axis=alt.Axis(labelColor=label_colors)),
y='b')
欢迎来到StackOverflow!为将来的帖子做准备,发布你的数据集或使用Altair gallery中的一个示例数据集是一个好主意。这使得其他人可以更快地测试您的代码并发布回复。谢谢!那正是我要找的!非常有用:)