簡體   English   中英

在Altair中將編碼重置為null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM