[英]Resetting an encoding back to null in Altair
我有一個圖表c2
是從原始圖表c1
繼承而來的。
如何將c2
的顏色編碼通道重設為無?
這是一個簡化的例子
import altair as alt
import pandas as pd
data = pd.DataFrame({
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
c1 = alt.Chart(data).mark_bar().encode(
x='a',
y='b',
color='a'
)
c2 = c1.mark_text().encode(
text='a')
c1 + c2
問題是我希望c2
成為黑色(非彩色)文本標簽的層。
我嘗試了以下選項,但均未成功:
c2 = c1.mark_text().encode(
text='a',
color=None
)
c2 = c1.mark_text().encode(
text='a',
color=alt.Color(field=None)
)
c2 = c1.mark_text().encode(
text='a',
color=alt.Undefined
)
您可以使用alt.Undefined
重設c2
的顏色編碼。 alt.Undefined
如下:
c2.encoding.color = alt.Undefined
您的解決方案有效。 我為將來的觀眾添加了另一個選項,他們可能會偶然發現這個想要指定顏色的問題。 它是使用alt.value('black')
明確地將文本指定為“ black”。不可否認,“ black”與“取消設置”編碼不同,但是可能是某人想要繪制的內容。
c2 = c1.mark_text().encode(
text='a',
color=alt.value('black')
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.