AttributeError:partially initialized module ‘matplotlib.pyplot‘ has no attribute ‘scatter‘

报错信息

AttributeError: partially initialized module 'matplotlib.pyplot' has no attribute 'scatter' (most likely due to a circular import)

翻译

AttributeError:部分初始化的模块“matplotlib.pyplot”没有属性“scatter”(很可能是由于循环导入

分析

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from sklearn.datasets._samples_generator import make_blobs

# 生成数据
centers = [[-2,2], [2,2], [0,4]]
X,y=make_blobs(n_samples=60,centers=centers,random_state=0,cluster_std=0.60)
#画图
plt.figure(figsize=(5,3), dpi=144)
c = np.array(centers)
# 画出样本
plt.scatter(X[:,0], X[:,1], c=y, s=10,cmap='cool')
# 画出中心点
plt.scatter(c[:,0], c[:,1], s=50, marker='^',c='orange')
plt.show()

matplotlib使用的版本是 3.7.1,其他使用到的包有 numpy 1.23.5、scikit-learn 1.2.2

导入matplotlib也参考了其他博客的 import matplotlib.pyplot as plt

解决

最好检查文件命名,很有可能 自己定义的某个文件 与 Python的包名 重名

比如我的命名为six.py(乍看上去平平无奇,但其实Python里有six这个包会产生冲突...)

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值