簡體   English   中英

可以使用 Altair 將 mark_rule 擴展到圖表之外嗎?

[英]Can mark_rule be extended outside the chart with Altair?

有沒有辦法在不破壞圖表軸的情況下使規則標記更長? 如果我有這個:

random.seed(0)
df = pd.DataFrame({'x':[i for i in range(1,21)],'y':random.sample(range(1,50), 20)})
chart = alt.Chart(df).mark_area().encode(x='x',y='y')
ruler = alt.Chart(pd.DataFrame({'x':[5]})).mark_rule().encode(x='x')
chart+ruler

在此處輸入圖片說明

但我想要這個

在此處輸入圖片說明

你有沒有試過用更寬的邊距在頂部覆蓋一個空圖? 所以疊加圖只包括線,但由於它在底部有較大的邊距,它將延伸超過原始圖。

您可以設置顯式 y 域,然后在mark_rule設置clip=False ,但您還需要定義規則的 y 范圍,因為默認值是在整個圖上拉伸:

import altair as alt
import pandas as pd
import random


random.seed(0)
df = pd.DataFrame({'x':[i for i in range(1,21)],'y':random.sample(range(1,50), 20)})
chart = alt.Chart(df).mark_area().encode(x='x', y=alt.Y('y', scale=alt.Scale(domain=(0, 50))))
ruler = alt.Chart(pd.DataFrame({'x':[5], 'y': [-10], 'y2': [50]})).mark_rule(clip=False, fill='black').encode(x='x', y='y', y2='y2')
chart+ruler

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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