#python #pandas #matplotlib #altair
#python #панды #matplotlib #altair
Вопрос:
Я совершенно новичок в Altair и относительно новичок в matplotlib. Набор данных, который я использую, относится к PGA и игрокам в гольф, которые выиграли турниры в 2017 году. Я отфильтровал свои данные, чтобы включить только тех игроков, у которых был хотя бы один выигрыш. Кроме того, я группирую игроков по количеству их побед (всего 3 подгруппы, поскольку максимальное количество побед было 3). Вертикальная ось состоит из средней дистанции броска каждого игрока.
Я создал точечный график для своих данных, но я хотел бы визуализировать и посмотреть, есть ли положительная линия тренда, проходящая через средние расстояния для каждой группы игроков.
Я знаю, что средние значения для 1, 2 и 3 выигрышей составляют 297,8040, 305,56 и 311,85 соответственно.
Я знаю из matplotlib, что вы можете определить линию с формой линейной регрессии y = mx b, а затем просто построить график с помощью plt.plot, но я не смог найти аналогичный маршрут в Altair.
Снимок экрана текущего вывода точечной диаграммы ниже
alt.Chart(source).mark_circle(size=250).encode(
x=alt.X('Number of Wins', scale=Scale(domain=[1, 3], zero=False, padding=1, clamp=True)),
y=alt.Y('Avg Driving Distance', scale=Scale(domain=[280, 325], zero=False, padding=50, clamp=True), title="Average Driving Distance"),
color='Player',
opacity=alt.value(90)
).properties(
width=700,
height=700
).interactive()
Ответ №1:
После дальнейшего изучения документов altair я нашел страницу, связанную с подбором линий линейных регрессий, и код, который мне помог, был chart chart.transform_regression('x', 'y').mark_line()
Я не знал, что altair позволил вам в основном компилировать несколько фигур друг над другом, просто используя