此代码段:
chart = alt.Chart(df).mark_point(filled=True).encode(
alt.X('Goals Conceded:Q'),
alt.Y('Goals:Q'),
alt.Size('Goals:Q', legend=None, scale=alt.Scale(range=[0, 1500])),
alt.Color('Color', legend=None, scale=None),
tooltip = [alt.Tooltip('For Team:N'),
alt.Tooltip('Goals:Q'),
alt.Tooltip('Goals Conceded:Q')]
).properties(
width=800,
height=600
)
情节:
现在,我想手动添加一行,其中x = y,以获得以下结果:
我怎样才能做到这一点?
您可以添加一条虚拟线:
line = pd.DataFrame({
'Goals Conceded': [0, 2],
'Goals': [0, 2],
})
line_plot = alt.Chart(line).mark_line(color= 'red').encode(
x= 'Goals Conceded',
y= 'Goals'.
)
chart + line_plot
我没有您的数据集,因此以下示例主要是从Altair示例库中借用的:
import pandas as pd
import altair as alt
from vega_datasets import data
source = data.iris()
iris_plot = alt.Chart(source).mark_circle().encode(
alt.X('sepalLength'),
alt.Y('sepalWidth'),
color='species',
size='petalWidth'
)
line = pd.DataFrame({
'sepalLength': [0, 5],
'sepalWidth': [0, 5],
})
line_plot = alt.Chart(line).mark_line(color= 'red').encode(
x= 'sepalLength',
y= 'sepalWidth',
)
iris_plot + line_plot
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句