Добавление линии идентичности к точечной диаграмме с использованием альтаира - PullRequest
4 голосов
/ 16 января 2020

Я создал базовую c диаграмму рассеяния для сравнения двух переменных, используя altair. Я ожидаю, что переменные будут сильно коррелированы, и точки должны оказаться на линии идентичности или близко к ней.

Как я могу добавить линию идентичности к графику?

Я хотел бы это линия, похожая на линию, созданную mark_rule, но растянутая по диагонали, а не по вертикали или горизонтали.

Вот, насколько я понял:

import altair as alt
import numpy as np
import pandas as pd

norm = np.random.multivariate_normal([0, 0], [[2, 1.8],[1.8, 2]], 100)

df = pd.DataFrame(norm, columns=['var1', 'var2'])

chart = alt.Chart(df, width=500, height=500).mark_circle(size=100).encode(
    alt.X('var1'),
    alt.Y('var2'),
).interactive()

line = alt.Chart(
    pd.DataFrame({'var1': [-4, 4], 'var2': [-4, 4]})).mark_line().encode(
            alt.X('var1'),
            alt.Y('var2'),
).interactive()

chart + line

Проблемы с этот пример показывает, что при масштабировании линия не расширяется вечно (как метка правила) и что график автоматически масштабируется до концов линий, а не только до точек.

...