Используя seaborn, как я могу нарисовать линию по своему выбору через мой scatterplot?
Я хочу иметь возможность нарисовать линию моей спецификации через участок, созданный в seaborn. Сюжет я выбрала JointGrid, но любой рассеивания будет делать. Я подозреваю, что Сиборн, возможно,не делает это легким?
вот код, отображающий данные (кадры данных из набора данных Iris длины лепестка и ширины лепестка):
import seaborn as sns
iris = sns.load_dataset("iris")
grid = sns.JointGrid(iris.petal_length, iris.petal_width, space=0, size=6, ratio=50)
grid.plot_joint(plt.scatter, color="g")
Если вы берете этот график из набора данных iris, как я могу нарисовать линию по своему выбору через него? Например, линия отрицательного наклона может разделять кластеры, а положительный наклон может проходить через них.
2 ответов
похоже, что вы импортировали matplotlib.pyplot
as plt
получить plt.scatter
в коде. Вы можете просто использовать функции matplotlib для построения линии:
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset("iris")
grid = sns.JointGrid(iris.petal_length, iris.petal_width, space=0, size=6, ratio=50)
grid.plot_joint(plt.scatter, color="g")
plt.plot([0, 4], [1.5, 0], linewidth=2)
создать JointGrid
в seaborn, вы создали три оси, основной ax_joint
, и две крайние оси.
чтобы построить что-то еще на совместных осях, мы можем получить доступ к совместной сетке с помощью grid.ax_joint
, а затем создайте объекты сюжета там, как и с любым другим matplotlib