我正在使用python的matplotlib并希望创建一个带有附加行的matplotlib.scatter()
。该行应该从左下角到右上角,而不受分散内容的影响。
通过数据进行的线性回归,如this post中所述,并不是我想要的。它还应该是动态的,独立于分散输入。
这应该是最后的情节:
编辑:
这样做的结果是:
# 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()
有更好的方法吗?
最佳答案
这将绘制一条与散点图数据无关的对角线,即使调整窗口大小,该对角线仍保持在轴的根上:
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()