Matplotlib.pyplot: рисование диагональной линии над подплоской - PullRequest
0 голосов
/ 29 апреля 2018
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, sharey=True)
ax1.plot([-1, -1], [1, 1], linewidth=10, c="red")
sns.regplot(x=early_mean_zscore_untreated, y=late_mean_zscore_untreated, data=combo_untreated, ax=ax1, fit_reg=False)
sns.regplot(x=early_mean_zscore_treated, y=late_mean_zscore_treated, data=combo_treated, ax=ax2, fit_reg=False)
ax1.set(xlabel="Z-score for early PAs", ylabel="Z-score for late PAs")
ax2.set(xlabel="Z-score for early PAs", ylabel="Z-score for late PAs")
ax1.set(title="Resubmitted <= %d times" % resub_cutoff, aspect='equal')
ax2.set(title="Resubmitted > %d times" % resub_cutoff, aspect='equal')
fig.suptitle("Comparing improvement over the semester\nZ-scores")
ax1.plot([-1, -1], [1, 1], 'red', linewidth=10, )
plt.savefig("graphm.png")
plt.show()

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

1 Ответ

0 голосов
/ 30 апреля 2018

Eagle eyed contributor @ImportanceOfBeingEarnest заметил, что мои параметры для создания линии были неправильными:

ax1.plot([-1, -1], [1, 1], 'red', linewidth=10)

Я написал их так, как если бы первая пара была координатами начальной точки, а вторая пара - координатами конечной точки. На самом деле первый аргумент - это список координат х, а второй аргумент - список координат у, так что моя линия фактически определяла точку. Правильный путь и решение моей проблемы:

ax1.plot([-1,1],[-1,1], 'red', linewidth=10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...