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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!