无论y值如何,所有Matplotlib点都出现在图的底部

时间:2017-11-03 04:55:18

标签: python-3.x matplotlib linear-regression

我正在关注this linear regression tutorial。这是我的代码:

import pandas as pd 
from sklearn import linear_model
import matplotlib.pyplot as plt 

dataframe = pd.read_fwf('brain_body.txt')
x_values = dataframe[['Brain']]
y_values = dataframe[['Body']]

body_reg = linear_model.LinearRegression()
body_reg.fit(x_values, y_values)

plt.scatter(x_values, y_values)
plt.plot(x_values, body_reg.predict(x_values))
plt.show()

当我运行脚本时,我没有错误,但图表似乎没有考虑到y值。我将数据点减少到三个,因此更容易看到:

enter image description here

我尝试用plt.ylim([-1000,7000])手动更改y轴,但没有运气。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

代码没有任何问题,只是你有一些与其他数据相关的非常极端的值。 Matplotlib扩展图形以显示极值,但最终会聚集所有其他值。扩大ylim只会增加效果 - 请尝试使用更小的ylimxlim

plt.ylim([0, 20])
plt.xlim([0, 2])

plot