Нарисуйте вертикальную линию на приморском участке - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь нарисовать вертикальную линию на участке соединения Seaborn и либо получить два графика, либо ошибка, указывающая на то, что топор не повторяется. Логика c выглядит следующим образом:

a4_dims = (12, 4)
fig, ax = plt.subplots(figsize=a4_dims)
ax.set_xlim(-.75, 1.25)
ax.set_ylim(-.75,1.25)
plt.axvline(0)
sns.jointplot(x='1_3Movement',y='1_2Movement',data=dfm,kind='kde', xlim=(-.75, 1.25), ylim=(-.75,1.25))

, и это то, что я получаю. enter image description here

1 Ответ

2 голосов
/ 31 марта 2020

Seaborn's jointplot создает собственную фигуру и 3 оси. jointplot возвращает объект JointGrid. Вы можете захватить отдельные оси с помощью .ax_joint, .ax_marg_x и .ax_marg_y. Чтобы нарисовать линию на контурной части графика, используйте .ax_joint.

. Совместный график всегда является квадратичной c цифрой. Размер можно задать с помощью height= (ширина будет равна).

from matplotlib import pyplot as plt
import numpy as np
import seaborn as sns

kdeplot = sns.jointplot(x=np.random.normal(0.25, 0.5, 10), y=np.random.normal(0.25, 0.5, 10),
                          kind='kde', xlim=(-.75, 1.25), ylim=(-.75, 1.25), height=4)
# draw a vertical line on the joint plot, optionally also on the x margin plot
for ax in (kdeplot.ax_joint, kdeplot.ax_marg_x):
    ax.axvline(0, color='crimson', ls='--', lw=3)
plt.show()

resulting plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...