使用python的matplotlib为散点图添加线条

Man*_*uel 10 python matplotlib

我正在使用python的matplotlib,并希望创建一个matplotlib.scatter()额外的行.该行应从左下角到右上角,与散点内容无关.像这篇文章中的数据线性回归并不是我想要的.它也应该动态地独立于分散输入.

这应该是最后的情节:

在此输入图像描述

编辑:

这样做得到了我的结果:

# Scatter Plot
x = data_calc_hourly.temp
y =  data_obs_hourly.temp

lineStart = data_calc_hourly.temp.min() 
lineEnd = data_calc_hourly.temp.max()  

plt.figure()
plt.scatter(x, y, color = 'k', alpha=0.5)
plt.plot([lineStart, lineEnd], [lineStart, lineEnd], 'k-', color = 'r')
plt.xlim(lineStart, lineEnd)
plt.ylim(lineStart, lineEnd)
plt.show()
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

unu*_*tbu 10

这会绘制一条对角线,该对角线与散点图数据无关,即使您调整窗口大小,也会保持与轴的对齐:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
import matplotlib.transforms as mtransforms

x, y = np.random.random((2, 100))*2
fig, ax = plt.subplots()
ax.scatter(x, y, c='black')
line = mlines.Line2D([0, 1], [0, 1], color='red')
transform = ax.transAxes
line.set_transform(transform)
ax.add_line(line)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 这可以在没有额外的 mlines 导入的情况下完成,只需使用绘图界面:``ax.plot([0, 1], [0, 1], color='red', transform=ax.transAxes)`` (10认同)