簡體   English   中英

Altair 直方圖,是否可以為 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.

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