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

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

5

使用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 virtualman2000 2年前

    估计是这个版本的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,不过没时间去探究,咱也不懂,也不敢问。呵呵。
    起码算是一个解决方法吧
    图片说明

    点赞 评论 复制链接分享
  • qq_39412061 吃鸡王者 2年前

    加个marker=‘o’ 参数试试

    点赞 评论 复制链接分享

为你推荐