可以使用Altair库中的transform_regression()函数来实现将对数线性回归添加到图表中,并使用selection()函数生成交互式选择器。
代码示例:
import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
x=alt.X('weight:Q', scale=alt.Scale(type='log')),
y='mpg:Q',
color=alt.condition(brush, 'Origin:N', alt.value('lightgray'))
).add_selection(
brush
)
line = points.transform_regression(
'weight', 'mpg', method='log'
).mark_line()
chart = points + line
chart.show()