[英]How to show a vertical line in an Altair chart using mark_rule()
[英]Altair histogram, is it possible to give a name to the mark_rule?
我有一個 dataframe 和我 plot 以下 plot。
代碼是這樣的:
import altair as alt
alt.renderers.enable('default')
base = alt.Chart(df_800).properties()
bar = base.mark_bar().encode(
x=alt.X('volumechange', bin=True, title='Volume Change'),
y='count()'
)
rule = base.mark_rule(color='red').encode(
x='mean(volumechange)',
size=alt.value(5)
)
rule2 = base.mark_rule(color='orange').encode(
x='median(volumechange)',
size=alt.value(5),
)
bar + rule + rule2
我想添加一個圖例或類似的東西來表明紅色規則是音量變化的平均值,橙色是中位數。 這是我第一次使用 altair,不勝感激。
Altair 中的圖例是從顏色編碼自動生成的,因此訣竅是將您的聚合轉換為一種格式,其中 label 是按顏色編碼的列。 這是您可以做到的一種方法:
import pandas as pd
import numpy as np
df_800 = pd.DataFrame({'volumechange': np.random.randn(100)})
base = alt.Chart(df_800)
bar = base.mark_bar(color='lightgray').encode(
x=alt.X('volumechange', bin=True, title='Volume Change'),
y='count()'
)
aggregates = base.transform_aggregate(
mean='mean(volumechange)',
median='median(volumechange)',
).transform_fold(
['mean', 'median']
).mark_rule().encode(
x='value:Q',
color='key:N'
)
bar + aggregates
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.