virtualman2000
2019-05-20 10:17
采纳率: 100%
浏览 689

matplotlib绘制散点图为什么画出来点变小蝌蚪了。如何解决?

使用Anaconda 3-5.3.1, 内含的jupyter notebook 5.4
不知是否有人遇到过这种情况,我是Macbook,刚升级系统到10.14.5
数据没找到怎么上传,样例如下:

图片说明

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv('data/salary.csv', index_col = 0)
X = df[['year']]
Y = df['salary'].values

plt.scatter(X,Y, color="black")
plt.xlabel('year')
plt.ylabel('salary')

图片说明

from sklearn.linear_model import LinearRegression
regr = LinearRegression()
regr.fit(X,Y)
plt.scatter(X,Y, color="black")
plt.plot(X, regr.predict(X), linewidth = 3, color = "blue")
plt.xlabel('year')
plt.ylabel('salary')

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • virtualman2000 2019-05-22 18:58
    已采纳

    估计是这个版本的matplotlib对于二维的dataframe支持的不好。当我把代码变为

    import matplotlib.pyplot as plt
    df=df.sort_values(by=['year'])
    X_plt = df['year'].values
    Y_plt = df['salary'].values
    X=df[['year']]
    Y=df['salary']
    plt.scatter(X_plt,Y_plt, color="black")
    plt.xlabel('year')
    plt.ylabel('salary')
    

    就神奇的好使了,猜想是matplotlib里面实现的bug,不过没时间去探究,咱也不懂,也不敢问。呵呵。
    起码算是一个解决方法吧
    图片说明

    点赞 打赏 评论
  • 吃鸡王者 2019-05-20 11:33

    加个marker=‘o’ 参数试试

    点赞 打赏 评论

相关推荐 更多相似问题